聚合 eleticsearch 对象中的多个字段

问题描述 投票:0回答:1

我有以下格式的文档

{
    "reference": "0001",
    "order_outlet": "Brighton",
    "order_amount": 1000,
    "status": "confirmed",
    "checker_conclusions": {
        "unique_identifier": true,
        "is_pep": false,
        "is_sanctioned": false,
        "10K_velocity_limit": true,
        "4500_velocity_limit": true,
        "high_risk_jurisdiction_res": true,
        "max_order_count": true,
        "multi_branch": true,
        "pep_threshold": true,
        "5K_velocity_limit": true,
        "two_forms_of_id": false,
        "cash_velocity_limit": true,
        "3K_high_risk_jurisdiction_iso": true
    }
}

我想聚合 checker_conclusion 对象中所有元素的 true 和 false 计数。 我可以单独使用

"aggs": {
    "checker_conclusions": {
        "terms": {
            "field": "checker_conclusions.is_pep"
        }
    }
}

我需要为所有字段做什么?相当于“field”的东西:“checker_conclusions.*” 预先感谢

我尝试使用通配符并使用dynamic_templates将它们全部映射为关键字

json elasticsearch
1个回答
0
投票

您可以使用多术语聚合

{
  "size": 0,
  "aggs": {
    "by_order": {
      "nested": {
        "path": "checker_conclusions"
      },
      "aggs": {
        "conclusions": {
          "multi_terms": {
            "field": "checker_conclusions.*"
          }
        }
      }
    }
  }
}

size:将其设置为 0 以仅检索聚合。 使用通配符获取所有字段。

© www.soinside.com 2019 - 2024. All rights reserved.