SOLR相关性多项术语查询

时间:2018-04-10 06:55:27

标签: solr relevance edismax

我在SOLR 4.7中执行以下查询

query=yellow tree house

doc1和doc2如下

doc1=house house house house house 
doc2=yellow tree

在默认的SOLR实施中,doc1将排名第一,因为房屋重复多次,其tfidf将更高。

另一方面,我需要将doc2作为第一个结果而不是doc1进行排名,因为三个中至少两个查询词的共同出现多于一个出现多次的词。

如何调整SOLR来执行它? BM25可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您正在使用SOLR 4.7版本,我在solr 7.0版上尝试过相同版本,并且它的工作方式完全相同。

http://localhost:8983/solr/burrp/select?fl=*,score&q=name:yellow%20tree%20house

响应是:

{
 responseHeader: {
 status: 0,
 QTime: 0,
 params: {
 q: "name:yellow tree house",
 fl: "*,score",
 },
},
response: {
numFound: 2,
start: 0,
maxScore: 1.6810184,
docs: [
 {
  id: "2",
  name: "yellow tree",
  sname: "yellow tree",
  _version_: 1597543998903287800,
  score: 1.6810184,
},
{
 id: "1",
 name: " house house house house house  ",
 sname: " house house house house house  ",
 _version_: 1597543972785356800,
 score: 1.1577512,
},
],
},

您可以在solr 7版本上查看相同内容。