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_count25

보다가 그 사람을 원한다? FilterBuilders 및 필터 집계를보고 있었지만 문서 내의 모든 값에 필터를 적용했습니다. 예를 들어, 필터를 적용하여 val1 == xzacolumn_name

인데 그게 내가 찾고있는 것이 아닌 경우에만 적용 할 수 있습니다. 집계를 적용한 후 doc_cunt 값에 대한 임계 값을 적용하고 싶습니다.

이것이 가능합니까? elasticsearch Java API 버전 1.7.2을 사용합니다.

답변

1

용어 집계에는 min_doc_count이라는 내장 옵션이 있습니다. 문서에 대한 내용은 here을 참조하십시오. Java API를 사용하지 않았지만 this example.minDocCount()을 사용하는 것으로 보입니다 (Ctrl-f 'minDocCount')

+0

감사합니다! 그거였다 – AbtPst