2016-05-30 9 views
2

私はelasticsearchクエリを以下のように作成し、うまく機能します。elasticsearch - Java APIでバケツフィルタを作成する方法

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

java apiクエリとして変換する必要がありますが、「buckets_filter」の変換方法はわかりません。これの考えですか? Java APIの

答えて

1

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

これはちょうど同じ問題のために、遅すぎると考えられます。

+0

ありがとう、私はすでに他の方法でこのクエリを作った:) –

関連する問題