我有一些具有相同数据类型(相同字段)的索引。有没有办法获得每个索引中某个字段的最大值(例如)?
假设我有以下数据:
index1.some_type:
{"some_field": 23},
{"some_field": 14},
{"some_field": 43}
index2.some_type:
{"some_field": 11},
{"some_field": 65},
{"some_field": 3}
我想获得第一个索引的最大值 43,第二个索引的最大值 65。 Elastic Search 允许在一个聚合查询中做这样的事情吗?
最佳答案
是的,您当然可以在 _index
meta field 中使用特殊的 terms
aggregation ,然后在 max
上使用 some_field
aggregation ,如下所示:
curl -XPOST localhost:9200/_search -d '{
"size": 0,
"aggs": {
"byindex": {
"terms": {
"field": "_index",
"size": 100
},
"aggs": {
"max_value": {
"max": {
"field": "some_field"
}
}
}
}
}
}'
关于elasticsearch - Elastic Search - 按索引聚合分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34304443/