我知道es支持按多个字段对热门内容进行排序,比如 sort: ["_score", "datetime"]
本帖建议:https://discuss.elastic.co/t/top-hits-query-with-same-score/107018
但是如何使用javaapi呢?
这个 AggregationBuilders.topHits().sort()
只接收一个字段作为参数。
我应该用吗
和sortbuilder作为参数?
如果是的话, SortBuilder
请求一个queryshardcontext参数,我不知道如何创建它。我以前从没用过。其他请求都没有使用此 QueryShardContext
.
有没有什么简单的方法,比如,把一组字段传入 sort()
?
提前谢谢!
1条答案
按热度按时间rqenqsqc1#
有超载的
TopHitsAggregationBuilder.sort()
方法,即String name
,即字段的名称,因此可以这样做:所有sort调用都将向top hits聚合添加一个新的sort组件。