【问题标题】:SOLR sort by relevancySOLR 按相关性排序
【发布时间】:2017-06-20 11:44:44
【问题描述】:

我需要按相关性对 solr 结果进行排序。我使用以下代码进行排序:

fq={!tag=resourcetag}(post_type:resource AND (siec_database_item:no OR siec_database_item:"") )&showposts=10&solrsearch=1&paged=0&sortby=score desc

但它没有得到任何结果。我在网上搜索,但只收到有关相关排序的理论。我需要一些实用的解决方案。

【问题讨论】:

  • 默认情况下,结果集中的所有文档都根据分值按降序排序。得分最高的文档将在结果中排​​在第一位。
  • 您认为我的查询正确吗?或者最好使用fl=*%2Cscore 而不是sortby=score desc
  • sort=score asc|desc查看我的答案以供参考

标签: sorting solr relevance


【解决方案1】:

我也面临同样的问题,我做了很多研发,并提出了自己的相关性搜索解决方案。

请看一下解决方案:

https://blog.knoldus.com/2016/12/13/solr-relevance-search-using-solrj-in-scala/

以及我在 Stack Overflow 上提出的问题:

relevance search in Solr

【讨论】:

    【解决方案2】:

    仅供参考显示一个例子 我只是将 id 和 score 字段用于fl

    http://localhost:8983/solr/test/select?fl=id,score&indent=on&q=ipod&wt=json
    

    对于查询q=ipod,我们从 solr 返回了 6 个文档,如下所示。您可以注意到文档是按相关性得分值排序的。(desc order,默认)

    response":{"numFound":6,"start":0,"maxScore":4.391201,"docs":[
          {
            "id":"IW-02",
            "score":4.391201},
          {
            "id":"F8V7067-APL-KIT",
            "score":4.1061177},
          {
            "id":"09",
            "score":3.690675},
          {
            "id":"01",
            "score":3.597126},
          {
            "id":"3007WFRD",
            "score":3.1348155},
          {
            "id":"MA147LL/A",
            "score":1.9562671}]
    

    如果您希望结果按升序排列,只需将排序参数添加到 url &sort=score asc,结果就会改变。您也可以对其他字段进行相同的排序。 (例如:sort=price asc)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多