我有一些具有相同数据类型(相同字段)的索引。有没有一种方法可以获取每个索引中某个字段的最大值(例如)?
假设我有以下数据:
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字段,然后在上使用聚合,如下所示:terms
max
some_field
curl -XPOST localhost:9200/_search -d '{ "size": 0, "aggs": { "byindex": { "terms": { "field": "_index" }, "aggs": { "max_value": { "max": { "field": "some_field" } } } } } }'