本教程介绍如何指定与文本索引关联的默认语言, 以及如何为包含不同语言文档的集合创建文本索引。
text
指数¶与索引数据关联的默认语言确定了解析词根(即词干)和忽略停用词的规则。索引数据的默认语言是english
。
要指定其他语言,请default_language
在创建text
索引时使用该选项。有关可用的语言,请参见文本搜索语言default_language
。
以下示例为quotes
集合创建字段text
索引,content
并将设置default_language
为
spanish
:
text
为多种语言的集合创建索引¶如果集合包含使用不同语言的文档或嵌入文档,请在文档或嵌入文档中包含一个命名字段,并将language
该文档或嵌入文档的语言指定为其值。
构建text
索引时,MongoDB将为该文档或嵌入式文档使用指定的语言:
text
索引的默认语言。有关支持的语言列表,请参见文本搜索语言。
例如,一个集合quotes
包含多语言文档,根据需要包括language
文档和/或嵌入文档中的字段:
如果使用默认语言英语text
在quote
字段上创建索引。
然后,对于包含该language
字段的文档和嵌入文档,text
索引使用该语言来解析词干和其他语言特征。
对于不包含该language
字段的嵌入式文档,
language
字段,则索引将使用文档的语言来嵌入文档。对于不包含该language
字段的文档,索引使用默认语言,即英语。
要使用名称不是的字段,请在创建索引时language
包含该language_override
选项。
例如,使用以下命令idioma
代替字段language
:
quotes
集合的文档可以在idioma
字段中指定一种语言: