弹性搜索 6.2 按查询分组

Elastic search 6.2 group by query

弹性搜索版本:6.2

我想要按特定字段分组的计数数据

示例:

假设我有 3 个以下文档

{ 字段 1:“值 1” } { 字段 1:“值 2” } { 字段 1:“值 2” }

我想要下面的结果

值 1: 1

值 2: 2

注意:字段类型为文本

您可以简单地使用 terms aggregation:

{
  "size": 0,
  "aggs": {
    "groups": {
      "terms": {
        "field": "field1"
      }
    }
  }
}

你想要的是聚合。这是查询:

GET /yourIndex/_search
{
  "aggs": {
    "myCustomAggregation": {
      "terms": {
        "field": "field1"
      }
    }
  }
}

但是请注意,您不能对属于 text 字段的字段(在您的案例字段 field1 中)执行聚合。您应该将该字段设置为 keyword.