如何对对象和文档中的字段进行索引
您可以使用 Atlas Search document
类型为对象或文档中的字段编制索引。
如果启用 动态映射,Atlas Search 会自动为 document
类型的字段创建索引。您可以使用 Atlas 用户界面中的可视化编辑器或 JSON 编辑器为字段编制 document
类型的索引。
查看 document
类型限制
不能使用 Atlas Search document
类型对数组内的对象或文档中的字段进行索引。 相反,请使用 Atlas Search embeddedDocuments类型对作为数组元素的对象或文档中的字段进行索引。
为 document
类型定义索引
要定义 document
类型的索引,请在 Atlas UI 中选择您的首选配置方法,然后选择数据库和集合。
单击 Refine Your Index 配置索引。
在 Field Mappings 部分中,单击 Add Field 打开 Add Field Mapping 窗口。
单击 Customized Configuration(连接)。
从 Field Name 下拉菜单中选择要索引的字段。
注意
您无法对字段名称开头包含美元 (
$
) 符号的字段创建索引。单击 Data Type(添加数据)下拉列表并选择 Document(插入文档)。
切换 Enable Dynamic Mapping 设置以启用或禁用文档中所有动态可索引字段的动态索引。要了解更多信息,请参阅 配置
document
字段属性。单击 Add(连接)。
如果禁用了动态映射,请单击 Document 类型字段的 Add Child Field,以定义文档中字段的字段映射。
以下是 document
类型的 JSON 语法。将默认索引定义替换为以下内容。要了解有关字段的更多信息,请参阅字段属性。
1 { 2 "mappings": { 3 "dynamic": true|false, 4 "fields": { 5 "<field-name>": { 6 "type": "document", 7 "dynamic": true|false, 8 "fields": { 9 "<field-name>": { 10 <field-mapping-definition> 11 } 12 } 13 } 14 } 15 } 16 }
配置 document
字段属性
Atlas Search document
类型采用以下参数:
选项 | 类型 | 必要性 | 说明 | 默认 |
---|---|---|---|---|
| 字符串 | 必需 | 标识字段类型的人类可读标签。值必须是 | |
| 布尔 | Optional | 指示 Atlas Search 是否以递归方式索引所有字段和嵌入式文档的标志。 如果设置为 要为文档中的所有字段(包括 Atlas Search 未动态索引的字段)编制索引,请在索引定义中定义这些字段。 如果省略或设置为 重要提示:Atlas Search 使用检测到的数据类型的默认设置动态对 | false |
| 文档 | Optional | 将字段名称映射到字段定义的文档。 要了解详情,请参阅示例。 如果省略 |
尝试 document
类型的示例
以下索引定义示例使用 sample_mflix.movies 集合。如果您的集群上已加载示例数据,则可以使用 Atlas 用户界面中的可视化编辑器或 JSON 编辑器来配置索引。选择首选配置方法后,选择数据库和集合并优化索引以添加字段映射。
索引定义将awards
字段索引为document
类型。 它还将 Atlas Search 配置为自动为awards
对象内的所有动态可索引字段编制索引。
在 Add Field Mapping 窗口中,从 Field Name 下拉列表中选择 awards。
单击 Data Type(添加数据)下拉列表并选择 Document(插入文档)。
切换Enable Dynamic Mapping设置以启用文档中所有动态可索引字段的动态索引(如果尚未启用)。
单击 Add(连接)。
将默认索引定义替换为以下索引定义。
1 { 2 "mappings": { 3 "dynamic": false, 4 "fields": { 5 "awards": { 6 "type": "document", 7 "dynamic": true 8 } 9 } 10 } 11 }