2

我正在使用 edismax 查询处理程序在文本字段中搜索“我想要本田自行车”。

我的目的是找出其中包含“本田自行车”的文档。

现在结果包含“honda”、“bike”和“honda bike”。基本上我对“本田”和“自行车”不感兴趣。我实际上对“本田自行车”感兴趣。

有什么方法可以确定字段中的短语是否与用户查询匹配?

4

3 回答 3

2

我会调查这些参数——pf、pf2 和 pf3。

pf——短语字段。这将让您提升您的 q 值非常接近的文档。

pf2 和 pf3 - 将输入切分为二元组(或三元组)。

还有一些 slop 设置可以在匹配中留出一些余地。

http://wiki.apache.org/solr/ExtendedDisMax#pf_.28Phrase_Fields.29

于 2012-10-02T13:11:04.137 回答
1

问题是 IDF 扰乱了得分,因此我不能完全依靠得分来自信地说出完美匹配的内容。所以我禁用了 IDF 计算。

看一眼

http://lucene.472066.n3.nabble.com/Identify-exact-search-in-edismax-td4011859.html#a4011976

于 2012-10-10T04:40:14.977 回答
0

可以在此处使用 edismax 的 mm(最小“应该”匹配)功能

http://wiki.apache.org/solr/ExtendedDisMax

于 2014-09-11T07:56:10.763 回答