gpt4 book ai didi

java - 使用 Java API 进行 Elasticsearch FunctionScore 查询

转载 作者:行者123 更新时间:2023-12-02 05:45:50 26 4
gpt4 key购买 nike

我需要使用 Java API 实现以下 function_score 查询。我在elasticsearch的Java API部分找不到任何关于function_score查询的官方文档

"function_score": {
"functions": [
{
"boost_factor": "3",
"filter": {
"terms" : {"course_cd" : ["writ100", "writ112", "writ113"] }
}
}
],
"query": {
"match" : {
"party_id" : "12"
}
}
}

请帮忙!

最佳答案

感谢约尔格

import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.index.query.functionscore.FunctionScoreQueryBuilder;
import java.util.Arrays;
import static org.elasticsearch.client.Requests.searchRequest;
import static org.elasticsearch.index.query.FilterBuilders.termsFilter;
import static org.elasticsearch.index.query.QueryBuilders.matchQuery;
import static org.elasticsearch.index.query.functionscore.ScoreFunctionBuilders.factorFunction;
import static org.elasticsearch.search.builder.SearchSourceBuilder.searchSource;

public class FunctionScoreTest {

public void testFunctionScore() {
SearchRequest searchRequest = searchRequest()
.source(searchSource().query(new FunctionScoreQueryBuilder(matchQuery("party_id", "12"))
.add(termsFilter("course_cd", Arrays.asList("writ100", "writ112", "writ113")), factorFunction(3.0f))));
}
}

关于java - 使用 Java API 进行 Elasticsearch FunctionScore 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24080771/

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