0

我想从 ES 1.7 升级到 6.0。我做了所有必要的更改,现在我遇到了 FunctionScoreQueryBuilder 的问题。

我创建了一个 BoolQueryBuilder 过滤器并且工作正常。现在我想为我的结果添加分数,但结果与我没有添加 ScoreFunction 的结果相同

ScoreFunctionBuilder fb = ScoreFunctionBuilders.scriptFunction("_score * (doc['field'].value!=0? 50000:1) ")

FunctionScoreQueryBuilder fsb = new FunctionScoreQueryBuilder(filter,fb)

SearchRequestBuilder srbPaged = client.prepareSearch(indexName)
            .setFetchSource(includes, excludes)
            .setQuery(fsb)
4

1 回答 1

-1

您发布的代码只是更改了 field[score] 的值,您应该按分数对结果进行排序。就像

srbPaged.sort("_score", SortOrder.DESC)

于 2018-09-18T03:22:34.477 回答