有没有办法让Solr / Lucene返回所选文件的排名而不是完整的结果?

时间:2011-10-28 01:08:08

标签: solr lucene rank

我感兴趣的是使用查询 q 查询Solr,并在{10,20,30,...}文档为{10> 20,...}文档时调用一组文档 D 返回。

目前,我正在获得完整的结果,即返回的docid列表(通过solrpy),并迭代它以查找 D 的行列,即来自 D <的映射< / em>到搜索结果中的索引。我并不严格要求映射,只映射排名。

有没有办法让Solr / Lucene为一组ID而不是完整结果返回排名?

解决此问题的其他方法:

  • 对于查询,返回文档 d
  • 的排名
  • 对于指定排名的查询,请返回文档 d 是否存在
  • 从查询 q1 结果到指定数量的记录,返回与其他查询匹配的记录数 q2

2 个答案:

答案 0 :(得分:4)

您可以按score字段检索排名。

附加&fl=KeyFieldName,score以检索文档ID并为您的查询评分。如果您需要所有字段,请在查询中添加&fl=*,score

有关详细信息,请参阅http://wiki.apache.org/solr/SolrRelevancyFAQ#How_can_I_see_the_relevancy_scores_for_search_results

答案 1 :(得分:1)

不,我想不出SOLR或Lucene这样做的方法。 我认为这里最简单的解决方案是使用简单的HashSet自行编程...