我在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可以解决这个问题吗?
答案 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版本上查看相同内容。