指定在ElasticSearch中建立索引的字段
我有一个文档,其中包含许多我从未查询过的字段,因此我想关闭这些字段的索引以节省资源。我相信我需要禁用该_all
字段,但是如何指定要对哪些字段建立索引呢?
回答:
默认情况下,所有字段也都在_all特殊字段内建立索引,该字段开箱即用地提供了所谓的catchall功能。但是,可以通过以下include_in_all
选项为映射中的每个字段指定是否要将其添加到_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字段,除非您覆盖要查询的默认字段。
以上是 指定在ElasticSearch中建立索引的字段 的全部内容, 来源链接: utcz.com/qa/434687.html