我有一个包含许多我从不查询的字段的文档,因此我想关闭这些字段的索引以节省资源。我相信我需要禁用_all field http://www.elasticsearch.org/guide/reference/mapping/all-field.html,但是如何指定哪些字段被索引呢?
默认情况下,所有字段都在索引内_all http://www.elasticsearch.org/guide/reference/mapping/all-field.html还有特殊字段,它提供了所谓的开箱即用的包罗万象的功能。但是,您可以通过以下方式指定映射中的每个字段是否要将其添加到 _all 字段include_in_all
选项:
"person" : {
"properties" : {
"name" : {
"type" : "string", "store" : "yes", "include_in_all" : false
}
}
}
上面的示例禁用了 name 字段的默认行为,该字段不会成为 _all 字段的一部分。
否则,如果您根本不需要特定类型的 _all 字段,您可以在映射中再次像这样禁用它:
"person" : {
"_all" : {"enabled" : false},
"properties" : {
"name" : {
"type" : "string", "store" : "yes"
}
}
}
当您禁用它时,您的字段仍将单独索引,但您不会拥有 _all 提供的包罗万象的功能。然后,您将需要查询特定字段,而不是依赖 _all 特殊字段,仅此而已。事实上,当您查询并且不指定字段时,elasticsearch 会在后台查询 _all 字段,除非您覆盖要查询的默认字段。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)