您可以使用MongoDB Search autocomplete 类型对string字段中的文本值进行索引以支持自动完成。您可以使用 自动完成 操作符查询索引为 autocomplete 类型的字段。
您还可以使用 autocomplete 类型创建索引:
值为字符串数组的字段。要了解更多信息,请参阅如何对数组元素进行索引。
作为 embeddedDocuments 类型索引的文档数组中的字符串字段。
提示
如果您有大量文档和范围的数据,要使用autocomplete操作符对其运行MongoDB Search 查询,则构建此索引可能需要一些时间。或者,您可以创建仅包含 autocomplete 类型的单独索引,以减少构建索引时对其他索引和查询的影响。
要学习;了解更多信息,请参阅MongoDB搜索索引性能注意事项。
autocomplete 默认下,动态映射中不包含类型。要将字段索引为 autocomplete 类型,可以使用 静态映射 或配置 typeSet 以将 autocomplete 包含在动态映射中。
为 autocomplete 类型定义索引
配置 autocomplete 字段属性
MongoDB Search autocomplete 类型采用以下参数:
选项 | 类型 | 必要性 | 说明 | 默认 | ||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 字符串 | 必需 | 标识此字段类型的人类可读标签。值必须是 | |||||||||||||||||||||||||||||||||||||||||||||||||
| 字符串 | 可选 |
| |||||||||||||||||||||||||||||||||||||||||||||||||
| int | 可选 | 每个索引序列的最大字符数。该值限制索引词元的字符长度。当您搜索比 注意我们建议将 |
| ||||||||||||||||||||||||||||||||||||||||||||||||
| int | 可选 | 每个索引序列的最小字符数。我们建议将 |
| ||||||||||||||||||||||||||||||||||||||||||||||||
| 枚举 | 可选 | 对字段进行索引以支持自动完成时使用的分词策略。值可以是以下值之一:
使用 与对字符串字段进行索引相比,使用 对于指定的分词策略, MongoDB Search 应用以下进程来连接顺序词元,然后再发出它们。此进程有时称为“叠瓦”。MongoDB Search 发出长度在
|
| ||||||||||||||||||||||||||||||||||||||||||||||||
| 布尔 | 可选 | 该标志指示是否执行 规范化,例如在索引文本中包含或删除变音符号。值可以是以下之一:
|
| ||||||||||||||||||||||||||||||||||||||||||||||||
| 字符串 | 可选 | 在使用 autocomplete 操作符进行评分时,所用的字符串映射的相似度算法名称。值可以是以下之一: 要学习;了解有关可用相似度算法的更多信息,请参阅分数详细信息。 |
|
autocomplete 类型尝试示例
了解详情
如要了解有关 autocomplete 操作符的更多信息并查看查询示例,请参阅自动完成。
有关演示如何使用正则表达式运行不区分大小写、前缀、开头为和包含查询的示例,请参阅使用MongoDB Search而不是正则表达式查询。