小编Mal*_*tis的帖子

从聚合中的备用字段返回键值

是否可以让Elastic Search根据不同的文档字段返回聚合键?

我们将外部id和外来名称都放在我们的类型中,然后聚合id,但是想要返回名称.名称不是唯一的,因此它们不适合聚合.我知道它们在记录集上也不一定是唯一的,但是它会接受从集合中的单个记录中采样的名称.

例如,假设我们的数据与产品的销售有关.每次销售都有与之关联的产品ID和产品名称.

// Sales
{ "product_id": 1, "product_name": "Beer", "quantity": 3, … }
{ "product_id": 1, "product_name": "Beer", "quantity": 2, … }
{ "product_id": 2, "product_name": "Wine", "quantity": 6, … }
Run Code Online (Sandbox Code Playgroud)

查询:

"aggregations": {
    "product": {
      "terms": {
        "field": "product_id"
      },
      "aggregations": {
        "day": {
          "count": {
            "value_count": {
              "field": "quantity"
            }
          }
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

结果:

…
"aggregations": {
  "product": {
    "buckets": [
    {
      "key": "1",
      "doc_count": 2,
      "count": {
        "value": 5
      }
    },{
      "key": …
Run Code Online (Sandbox Code Playgroud)

elasticsearch

10
推荐指数
2
解决办法
6552
查看次数

标签 统计

elasticsearch ×1