当前位置:  开发笔记 > 编程语言 > 正文

弹性搜索-聚合按索引分组

如何解决《弹性搜索-聚合按索引分组》经验,为你挑选了1个好方法。

我有一些具有相同数据类型(相同字段)的索引。有没有一种方法可以获取每个索引中某个字段的最大值(例如)?

假设我有以下数据:

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允许在一个聚合查询中执行此类操作?



1> Val..:

是的,绝对可以在聚合中使用特殊的_indexmeta字段,然后在上使用聚合,如下所示:termsmaxsome_field

curl -XPOST localhost:9200/_search -d '{
  "size": 0,
  "aggs": {
    "byindex": {
      "terms": {
        "field": "_index"
      },
      "aggs": {
        "max_value": {
          "max": {
            "field": "some_field"
          }
        }
      }
    }
  }
}'

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有