elasticsearch-如何在java api中制作桶过滤器

标签 elasticsearch bucket

我做了一些如下所示的 Elasticsearch 查询,效果很好。

  "aggregations" : {
    "agg_sum" : {
      "sum" : {
        "field" : "cnt"
      }
    },
    "bucket_filter": {
        "bucket_selector": {
            "buckets_path": {
              "totalSales": "agg_sum"
            },
            "script": "totalSales >= 10"
        }
    }
  }

需要转换为java api查询,但不知道如何转换“buckets_filter”。对此有什么想法吗?

最佳答案

java api 中的

BucketSelector 如下所示:

Map<String, String> bucketsPathsMap = new HashMap<>();
        bucketsPathsMap.put("ags", "agg_sum");
        Script script = new Script("params.ags > 10");

   BucketSelectorPipelineAggregationBuilder bs =
                PipelineAggregatorBuilders.bucketSelector("bucket_filter", bucketsPathsMap, script);
AggregationBuilders.subAggregation(bs);

这可能已经太晚了,只是为了同样的问题。

关于elasticsearch-如何在java api中制作桶过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37520470/

相关文章:

elasticsearch - 过滤日期值是给定值或缺少值的ElasticSearch查询

elasticsearch - 在Elasticsearch中执行Groovy脚本时出错

elasticsearch - 仅检索_source的内容-Elasticsearch(Node JS)

amazon-s3 - Amazon S3 服务器端加密存储桶策略问题

java - Java中用于保存存储桶列表ID的默认结构

elasticsearch - 如何在关闭终端 session 后不终止的ubuntu中启动elasticsearch?

Elasticsearch 不接受数据

google-cloud-platform - Google Cloud Storage 存储桶引发错误 "The project to be billed is associated with a closed billing account."

amazon-s3 - 如何使S3存储桶公开(亚马逊示例政策不起作用)?

amazon-web-services - 复合 Elasticsearch 仅针对两个源同时存在的情况进行分类