一、语言列表
| 语言名称 | 代码 |
|---|---|
| danish | da |
| dutch | nl |
| english | en |
| finnish | fi |
| french | fr |
| german | de |
| hungarian | hu |
| italian | it |
| norwegian | nb |
| portuguese | pt |
| romanian | ro |
| russian | ru |
| spanish | es |
| swedish | sv |
| turkish | tr |
二、指定默认语言
创建文本索引时默认使用的语言是english,但可以在创建索引的时候指定默认语言
1、准备工作
这里准备一些数据
javascript
db.books.drop();
db.books.insert({_id: 1, name: "Java", yuyan: "es", description: "java 入门图书" });
db.books.insert({_id: 2, name: "C++", yuyan: "en", description: "C++ 入门图书" });
db.books.insert({_id: 3, name: "Java设计模式", yuyan: "es", description: "java 设计模式" });
2、创建索引
javascript
db.books.createIndex(
{description: 'text'},
{default_language: 'es'}
);
上面创建了description字段的文本索引并指定了default_language为es;
3、查询索引
javascript
db.books.getIndexes();
结果如下:

可以看到default_language设置成了es
三、指定语言字段
创建文本索引时指定语言的字段默认是language,但可以在创建索引的时候指定语言字段
1、准备工作
这里准备一些数据
javascript
db.books.drop();
db.books.insert({_id: 1, name: "Java", yuyan: "es", description: "java 入门图书" });
db.books.insert({_id: 2, name: "C++", yuyan: "en", description: "C++ 入门图书" });
db.books.insert({_id: 3, name: "Java设计模式", yuyan: "es", description: "java 设计模式" });
2、创建索引
javascript
db.books.createIndex(
{description: 'text'},
{language_override: 'yuyan'}
);
上面创建了description字段的文本索引并指定了language_override为yuyan字段,在索引创建时会根据yuyan字段的值作为语言对文本创建索引
3、查询索引
javascript
db.books.getIndexes();
结果如下:

可以看到language_override设置成了yuyan字段