elasticsearch 弹性搜索-按索引分组聚合,elasticsearch,lucene,elasticsearch,Lucene" /> elasticsearch 弹性搜索-按索引分组聚合,elasticsearch,lucene,elasticsearch,Lucene" />

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
参数)