| 语言名称 | 代码 |
| 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,但可以在创建索引的时候指定默认语言
这里准备一些数据
- 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 设计模式" });
- db.books.createIndex(
- {description: 'text'},
- {default_language: 'es'}
- );
上面创建了description字段的文本索引并指定了default_language为es;
db.books.getIndexes();
结果如下:

可以看到default_language设置成了es
创建文本索引时指定语言的字段默认是language,但可以在创建索引的时候指定语言字段
这里准备一些数据
- 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 设计模式" });
- db.books.createIndex(
- {description: 'text'},
- {language_override: 'yuyan'}
- );
上面创建了description字段的文本索引并指定了language_override为yuyan字段,在索引创建时会根据yuyan字段的值作为语言对文本创建索引
db.books.getIndexes();
结果如下:

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