gpt4 book ai didi

java - 如何通过 Java 包装器执行 IBM Watson Retrieve And Rank API 中的 searchAndRank 方法

转载 作者:行者123 更新时间:2023-12-01 09:37:11 24 4
gpt4 key购买 nike

我正在尝试使用Java 包装器执行retrieveAndRank 查询。我遵循 Retrieve and Rank API 的在线 javadocs。SearchAndRank 的示例是:

https://www.ibm.com/watson/developercloud/retrieve-and-rank/api/v1/#query_ranker

RetrieveAndRank service = new RetrieveAndRank();
service.setUsernameAndPassword("{username}","{password}");
HttpSolrClient solrClient = new HttpSolrClient;
solrClient = getSolrClient(service.getSolrUrl("scfaaf8903_02c1_4297_84c6_76b79537d849"), "{username}","{password}");
SolrQuery query = new SolrQuery("what is the basic mechanism of the transonic aileron buzz");
QueryResponse response = solrClient.query("example_collection", query);
Ranking ranking = service.rank("B2E325-rank-67", response);
System.out.println(ranking);

但是RetrieveAndRank类没有这样的rank(StringrankerId,QueryResponseresponse)方法。只需获取一个文件或一个 InputStream 作为参数(浏览 IBM 的源代码,我发现它需要 CSV 内容,而不是 java QueryResponse)。

我应该如何将 QueryResponse 传递给排名方法?

我正在使用 solr-solrj-5.5.2.jar 和 java-sdk-3.2.0-jar-with-dependency.jar 库

最佳答案

您需要使用 /fcselect 查询处理程序并将 ranker_id 作为参数发送。

下面的代码假设您有一个包含文档的 Solr 集合,并且您已经训练了排名器,否则请遵循此 tutorial .

 RetrieveAndRank service = new RetrieveAndRank();
service.setUsernameAndPassword(USERNAME, PASSWORD);

// create the solr client
String solrUrl = service.getSolrUrl(SOLR_CLUSTER_ID);
HttpClient client = createHttpClient(solrUrl, USERNAME, PASSWORD);
HttpSolrClient solrClient = new HttpSolrClient(solrUrl, client);

// build the query
SolrQuery query = new SolrQuery("*:*");
query.setRequestHandler("/fcselect");
query.set("ranker_id", RANKER_ID);

// execute the query
QueryResponse response = solrClient.query(SOLR_COLLECTION_NAME, query);
System.out.println("Found " + response.getResults().size() + " documents!");
System.out.println(response);

确保更新 RetrieveAndRank(USERNAMEPASSWORD)、SOLR_CLUSTER_IDSOLR_COLLECTION_NAMERANKER_IDcreateHttpClient() 的代码可以在 here 找到.

关于java - 如何通过 Java 包装器执行 IBM Watson Retrieve And Rank API 中的 searchAndRank 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38788303/

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