【问题标题】:Elastic Search Aggregate not tied to Top level QueryElasticsearch 聚合未绑定到顶级查询
【发布时间】:2023-02-24 01:49:32
【问题描述】:

我有一个返回数据的 ElasticSearch/OpenSearch 查询和 2 个提供计数和最大值的聚合,但是我需要另一个未绑定到顶级查询的聚合。如果没有仅按 clientId 而不是完整的顶级查询进行过滤的第二个查询,这是否可能?

{
    "aggs": {
        "searchCount": {
            "value_count": {
                "field": "clientId"
            }
        },
        "maxAmount": {
            "max": {
                "field": "total"
            }
        }
    },
    "from": 0,
    "query": {
        "bool": {
            "filter": [
                {
                    "terms": {
                        "clientId": [
                            5
                        ]
                    }
                }
            ],
            "must": [
                {
                    "bool": {
                        "should": [
                          {
                                "wildcard": {
                                    "customerName": {
                                        "value": "*348*"
                                    }
                                }
                            },
                            {
                                "wildcard": {
                                    "referenceNumber": {
                                        "value": "*348*"
                                    }
                                }
                            }
                        ]
                    }
                }
            ]
        }
    },
    "size": 10,
    "sort": [
        {
            "createdDate": {
                "order": "desc"
            }
        }
    ]
}

免责声明:此查询是由 NEST 客户端编写的,对我来说看起来并不完全正确,但有效,我也希望 cmets 了解如何让它变得更好。

【问题讨论】:

  • 你需要有两个查询。

标签: elasticsearch opensearch amazon-opensearch


【解决方案1】:

解决方案是像@rabbitbr 所说的那样进行 2 个查询。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-18
    • 2014-10-22
    • 2014-11-06
    • 2018-12-11
    • 2020-11-06
    • 2021-09-19
    • 2019-12-06
    • 2018-10-01
    相关资源
    最近更新 更多