在索引任何文档之前,我正在整理一组Elasticsearch索引,它们之间具有相同的映射。对于其中一些索引,从不使用某些字段。
给定一些搜索查询,是否有办法获取所有使用过的字段的列表?例如,假设我执行的搜索返回以下单个文档(或一组与此模式相似的文档):
{
type: "foo",
data: {
name: "foo",
address: "bar",
phoneNumber: "baz"
}
}
我希望我要查询的查询返回
[type, data.name, data.address, data.phoneNumber]
最佳答案
为此,可以使用meta字段_field_names。
如下面的示例所示,对此进行汇总将使您的文档数也得到增加。
范例:
{
"size": 0,
"aggs": {
"Field names": {
"terms": {
"field": "_field_names",
"size": 0
}
}
}
}
关于elasticsearch - 如何在搜索查询中列出索引中具有至少1个值的所有字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39756111/