有没有人使用 Java SDK 的 Retrieve & Rank 服务(特别是 Rank 服务)?
我想了解它是如何工作的,因为有些观点似乎我不合逻辑:
- Java 方法有什么区别,我们必须使用 Apache Solr 执行搜索查询,然后调用该方法
rank
;和 CURL 方法,我们只需要运行一个查询? - 为什么该方法
rank
采用包含搜索查询结果的 CSV 文件,而我们显然不能在 CSV 中获得搜索查询的结果?
谢谢你的时间。
有没有人使用 Java SDK 的 Retrieve & Rank 服务(特别是 Rank 服务)?
我想了解它是如何工作的,因为有些观点似乎我不合逻辑:
rank
;和 CURL 方法,我们只需要运行一个查询?rank
采用包含搜索查询结果的 CSV 文件,而我们显然不能在 CSV 中获得搜索查询的结果?谢谢你的时间。
我以前从未使用过 Retrieve 和 Rank,但通过阅读这里的文档是我的想法
我认为 Java 方法和 CURL 之间没有任何区别。据我了解,在 curl 中搜索和排名使用此命令
curl -u "{username}":"{password}" " https://gateway.watsonplatform.net/retrieve-and-rank/api/v1/solr_clusters/sc1ca23733_faa8_49ce_b3b6_dc3e193264c6/solr/example_collection/fcselect?ranker_id=B2E325-rank -67&q=what%20is%20the%20basic%20mechanism%20of%20the%20transonic%20aileron%20buzz&wt=json&fl=id,title "
在Java中
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);
我认为 curl 命令会做什么,在后端它将使用指定的查询在 Solr 中触发搜索,并在返回结果后对它们进行排名。在 Java 中,这是显式完成的,而不是使用方法 queryAndRank,您有两种方法,一种将在 Solr 中运行,从那里获取结果,然后将这些结果转发到排名系统。
CSVResponseWriter 可以将文档列表写入 CSV 格式的响应中。