自托管部署上的文本索引属性
本页描述了版本 3 文本索引的行为。
不区分大小写
文本索引不区分大小写。文本索引不会区分大写和小写字符,例如e
和 E
。
文本索引支持按照Unicode 8.0 字符数据库大小写折叠:
常用 C
简单 S
土耳其语特殊 T
有重音符号的字符,例如
é
和É
。非拉丁字母的字符,例如西里尔字母中的
И
和и
。
之前的文本索引版本 只对非重音拉丁字符 [A-z]
不区分大小写。之前的文本索引版本将所有其他字符视为不同的。
不区分重音
文本索引对变音符号不敏感。文本索引不会区分带变音符号的字符和它们的非标记对应字符,例如 é
、ê
和 e
。更具体地说,文本索引会移除在Unicode 8.0 字符数据库属性列表中分类为变音符号的标记。
之前的文本索引版本将带变音符号的字符视为不同的。
标记化分隔符
对于标记化,文本索引使用在Unicode 8.0 字符数据库属性列表中分类为 破折号
、短横线
、模式语法
、引号
、终止标点
和 空白
的分隔符。
例如,在短语 Il a dit qu'il «était le meilleur joueur du monde»
中,引号(«
、»
)和空格是分隔符。
索引的早期版本将 «
视为术语 «était
的一部分,将 »
视为术语 monde»
的一部分。
索引条目
文本索引对索引字段中的术语进行标记和词干提取,为索引条目存储。索引使用简单的语言特定的词干提取。对于集合中的每份文档,文本索引在每个索引字段中存储每个唯一词干的一个索引条目。
支持的语言和停用词
MongoDB支持多种语言的文本搜索。文本索引使用简单的语言特定的词干提取。文本索引还会删除英语中的语言特定的停用词,如the
、an
、a
和and
。有关支持的语言列表,请参阅自托管部署上的文本搜索语言。
要指定文本索引的语言,请参阅自托管部署上指定文本索引的默认语言。
稀疏属性
文本索引始终是稀疏的。当您创建文本索引时,MongoDB会忽略sparse
选项。
如果现有或新插入的文档缺少文本索引字段(或字段为null或空数组),MongoDB不会为该文档添加文本索引条目。
了解更多
有关文本索引的限制,请参阅自托管部署上的文本索引版本。