Elasticsearch对具有值的属性的数组中的元素进行计数

时间:2018-12-13 13:58:28

标签: elasticsearch elasticsearch-aggregation

我有一个结构如下的文档:

{
  "products": [
    {
      "variants": [
        {
          "type": "type_1"
        },
        {
          "type": "type_2"
        }
      ]
    }
  ]
}

“变体”是动态映射。我想计算具有特定类型的变体。如果我使用术语汇总,它将返回我所有类型的存储桶键及其各自的文档计数,但是我希望我传递的类型出现在存储桶键及其各自的文档计数中。

或者他们只计算变量而不是doc并获取类型为键和值作为其计数的存储桶的任何方式

有人可以帮助我查询吗?

1 个答案:

答案 0 :(得分:0)

我用脚本解决了。

{
  "aggs": {
    "agg_terms_types": {
      "terms": {
        "script": {
          "source": "params.selected_types",
          "params": {
            "selected_types": [
              "type_1"
            ]
          }
        }
      }
    }
  }
}