SOLR按相关性排序

时间:2017-02-03 07:05:02

标签: sorting solr relevance

我需要通过相关性对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

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

2 个答案:

答案 0 :(得分:2)

仅供参考 我只是使用fl

的ID和分数字段
http://localhost:8983/solr/test/select?fl=id,score&indent=on&q=ipod&wt=json

对于查询q=ipod,我们有从solr返回的6个文档,这是它的外观。您可以注意到文档按相关性得分值排序。(描述顺序,默认)

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}]

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

答案 1 :(得分:0)

我也遇到了同样的问题,我做了大量的R& D并提出了我自己的相关搜索解决方案。

请看一下解决方案:

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

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

relevance search in Solr