0

頻度が一定のしきい値を超える文書のみを返す集計を実装したいと考えています。例えばElasticsearch Java API:集計用の集計フィルタ

が、ここではその数

AggregationBuilder aggregation = AggregationBuilders 
       .terms("agg").field("column_name"); 

ですべてのドキュメントを取得するための凝集がそう、これはcolumn_name

[{"doc_count":30,"key":"val1"},{"doc_count":29,"key":"val2"},{"doc_count":23,"key":"val3"}] 

に私の各値についてのドキュメントの数を与えている、ことができます私はこれらのすべての文書がほしいとは言いません。私はそう理想的な結果は、私は私の集計にこのようなフィルタを適用しない方法

[{"doc_count":30,"key":"val1"},{"doc_count":29,"key":"val2"}]

だろうdoc_count大きい25

よりも、持っているものをしたいですか? FilterBuildersとフィルタ集約を見ていましたが、ドキュメント内の任意の値にフィルタを適用するためのものです。たとえば、フィルタを適用してドキュメントを取得することができます。 column_name

これは私が探しているものではありません。集計が適用された後に、doc_cunt値のしきい値を適用したいとします。

これは可能ですか?私はelasticsearch java apiバージョン1.7.2を使用しています

答えて

1

用語集合はmin_doc_countと呼ばれる組み込みオプションを持っています。詳細については、hereを参照してください。私はJava APIを使用していませんが、this exampleは例では.minDocCount()(ctrl-f 'minDocCount')を使用しているようです

+0

ありがとう!それだった – AbtPst

関連する問題