elasticsearch 弹性搜索-按索引分组聚合
我有一些具有相同数据类型(相同字段)的索引。是否有办法获得每个索引中某个字段的最大值(例如) 假设我有以下数据:
elasticsearch 弹性搜索-按索引分组聚合,
elasticsearch,lucene,
elasticsearch,Lucene,我有一些具有相同数据类型(相同字段)的索引。是否有办法获得每个索引中某个字段的最大值(例如) 假设我有以下数据: index1.some_type: {"some_field": 23}, {"some_field": 14}, {"some_field": 43} index2.some_type: {"some_field": 11}, {"some_field": 65}, {"some_field": 3} 我想得到第一个索引的最大值4
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。弹性搜索允许在一个聚合查询中执行此操作?是的,您肯定可以在a中使用special,然后使用on
some_字段,如下所示:
curl -XPOST localhost:9200/_search -d '{
"size": 0,
"aggs": {
"byindex": {
"terms": {
"field": "_index",
"size": 100
},
"aggs": {
"max_value": {
"max": {
"field": "some_field"
}
}
}
}
}
}'
很酷,很高兴它有帮助!当有大量索引时,这不会返回所有索引。有没有办法强迫ES查看所有索引并返回它们?@Leninrajasekaran我已经更新了我的答案(请参阅size
参数)