Elastic Search 5.1 - 用于随机评分的 java api

J.D*_*one 0 elasticsearch

弹性搜索5.1.2

我在2.2版本上做了随机分数java api查询,但不适合5.1版本。这是我的代码(适用于 2.2 版本)。

FunctionScoreQueryBuilder functionQuery = QueryBuilders.functionScoreQuery( boolQuery);
functionQuery
        .add( ScoreFunctionBuilders.randomFunction( 1)) // error from 'add'
        .boostMode( "replace");
Run Code Online (Sandbox Code Playgroud)

如何将其转换为5.1版本代码?

Mys*_*ion 5

这应该适用于 5.1.2:

final BoolQueryBuilder boolQuery = QueryBuilders.boolQuery();
final FunctionScoreQueryBuilder functionScoreQueryBuilder = QueryBuilders
                .functionScoreQuery(boolQuery, ScoreFunctionBuilders.randomFunction(1))
                .boostMode(CombineFunction.REPLACE);
Run Code Online (Sandbox Code Playgroud)