如何在Elasticsearch中使用“more Like this”查询得分来函数得分
static FunctionScore mltFunctionScore(String text, Double weight, List<String> fields) {
return new FunctionScore.Builder()
.filter(new Query.Builder()
.moreLikeThis(new MoreLikeThisQuery.Builder()
.fields(fields)
.like(new Like.Builder().text(text).build())
.build())
.build())
.weight(weight)
.build();
}
字符串
使用函数score将只使用“more like this”查询作为过滤器。
我可以得到与匹配查询相同的分数并将其用作函数分数吗?
1条答案
按热度按时间vaj7vani1#
如果你想在你的函数得分中使用MLT查询的得分,你不应该把它用作过滤器。
如果我正确理解了你的问题,这个查询应该可以解决你的问题:
字符串
在Java中,它应该是:
型
如果你遇到了一个错误,你需要修改代码,因为我没有机会测试代码。