elasticsearch - как сделать фильтр ведра в Java API

Я сделал несколько запросов elasticsearch, как показано ниже, и он работает хорошо.

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

Его нужно было преобразовать как запрос API Java, но не знаю, как преобразовать «buckets_filter». любая идея об этом?


person J.Done    schedule 30.05.2016    source источник


Ответы (1)


BucketSelector в java API будет выглядеть так:

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);

это, вероятно, слишком поздно, просто ради той же проблемы.

person Matrix Buster    schedule 21.08.2017