gpt4 book ai didi

java - ElasticSearch在Java中排序的条件

转载 作者:行者123 更新时间:2023-12-03 01:10:43 26 4
gpt4 key购买 nike

对于单字段排序,我正在使用此代码

searchSourceBuilder.sort(SortBuilders.fieldSort("count").order(SortOrder.DESC));
但现在我需要添加这样的条件
searchSourceBuilder.sort(SortBuilders.fieldSort(count <= 0 ? "visitor":"visitor" * "count").order(SortOrder.DESC));
我没有任何线索来做到这一点。在Elasticsearch上是否可能,或者我需要另外一种方式?

最佳答案

您需要使用的是SortBuilders.scriptSort()(script-based sorting),如下所示:

Script script = new Script( "doc.count.value <= 0 ? doc.visitor.value : doc.visitor.value * doc.count.value");
SortBuilders.scriptSort(script, ScriptSortType.NUMBER).order(SortOrder.DESC);

关于java - ElasticSearch在Java中排序的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64329312/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com