关于" Rank"的解释for Retrieve& Java中的排名服务

时间:2016-06-27 12:06:53

标签: java solr ibm-watson retrieve-and-rank

有没有人曾经使用过“检索”和“使用Java SDK排名服务(特别是排名服务)?

我想了解它是如何运作的,因为有些观点似乎不符合逻辑:

  • Java方法有什么区别,我们必须用Apache Solr执行搜索查询,然后调用方法rank;和CURL方法,我们只需运行一个查询?
  • 为什么方法rank采用包含搜索查询结果的CSV文件,而我们显然无法获得CSV搜索查询的结果?

我未在此documentationexample中找到我的回复neitheir。

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

我之前从未使用过Retrieve和Rank,但通过阅读这里的文档是我的想法

  1. 我认为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"

  2. 在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中运行,从那里获得结果,然后将这些结果转发到排名系统。

    1. 在Solr中搜索可以返回csv。
    2.   

      CSVResponseWriter可以在响应中写入文档列表   CSV格式。

      http://wiki.apache.org/solr/CSVResponseWriter

相关问题