微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

弹性搜索 java stats_buckets

如何解决弹性搜索 java stats_buckets

我使用聚合和 stats_buckets 在 json 中提出了一个 elasticsearch 请求。

我想检索每个电话号码的通话次数

我在 java 中找不到 stats_buckets 的语法。

我使用 Elasticsearch 7.4.1

怎么办?谢谢

弹性

curl -s -XGET 'http://localhost:9200/doc/_search?pretty' -H 'Content-Type: application/json' -d '{ 
    "query": {
        "bool": {
            "must": [
                {
                    "range" : {
                        "date" : {
                            "gte":  "2021-06-01 00:00","lt": "2021-06-30 00:00","format": "yyyy-MM-dd HH:mm"
                        }
                    }
                }
            ]
        }
    },"aggs": {
        "caller_number": {
            "terms": {
                "field": "caller_number.keyword"
            }
        },"total_sum": {
            "stats_bucket": {
                "buckets_path": "caller_number._count" 
            }
        }
    },"size": 0
}'

Java:

    StatsBucketPipelineAggregationBuilder bs = PipelineAggregatorBuilders.statsBucket("total_sum","terms_caller_number._count");

this.elastic
    .prepareSearch("doc")
    .setQuery(query)
    .addAggregation(AggregationBuilders
            .terms("terms_caller_number")
            .field("caller_number.keyword")
            .subAggregation(AggregationBuilders
            .subAggregation(bs)
    )
    .execute()
    .actionGet();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。