0
冗談のSearchResultに集約サポートをヒット:トップは、私が集計クエリを作成する機能の下に使用しています
private TermsBuilder getAggregations(String[] outputFields) {
TermsBuilder topLevelAggr = AggregationBuilders.terms("level1").field("field1").size(0);
TermsBuilder aggr2 = AggregationBuilders.terms("level2").field("field2").size(0);
TermsBuilder aggr3 = AggregationBuilders.terms("level3").field("field3").size(0);
TermsBuilder aggr4 = AggregationBuilders.terms("level4").field("field4").size(0);
TopHitsBuilder topHitsBuilder = AggregationBuilders.topHits("doc").setSize(1).addSort("fieldValue", SortOrder.DESC);
aggr4.subAggregation(topHitsBuilder);
aggr3.subAggregation(aggr4);
aggr2.subAggregation(aggr3);
topLevelAggr.subAggregation(aggr2);
topHitsBuilder.setFetchSource(outputFields, new String[]{});
return topLevelAggr;
}
私はこのコードから正しい集計クエリを取得していますが、クエリを実行した後、私は抽出することはできませんよtop_hits
集約結果。私は io.searchbox.core.SearchResult
クラスを使用してクエリ結果を取得しています。このクラスでは、Top_Hits集約をサポートしていませんでした。
助けてください。ありがとう。
おかげでお返事を、私はこの方法を知っているが、私の代わりにSearchResponseの、のSearchResultオブジェクトを使用しています。 – pbajpai21