SOLR 按相关性排序
SOLR sort by relevancy
我需要按相关性对 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
使用 id 和 score 字段
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}]
如果您希望结果按升序排列,只需将排序参数添加到 url &sort=score asc
,结果就会发生变化。您也可以对其他字段进行相同的排序。 (例如:排序=价格升序)。
我也面临着完全相同的问题,我做了很多研发并提出了我自己的相关性搜索解决方案。
请看解决方案:
https://blog.knoldus.com/2016/12/13/solr-relevance-search-using-solrj-in-scala/
以及我在 Stack Overflow 上提出的问题:
我需要按相关性对 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
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}]
如果您希望结果按升序排列,只需将排序参数添加到 url &sort=score asc
,结果就会发生变化。您也可以对其他字段进行相同的排序。 (例如:排序=价格升序)。
我也面临着完全相同的问题,我做了很多研发并提出了我自己的相关性搜索解决方案。
请看解决方案:
https://blog.knoldus.com/2016/12/13/solr-relevance-search-using-solrj-in-scala/
以及我在 Stack Overflow 上提出的问题: