2016-08-02 52 views
0

假设我们有一个查询“主页内容”。 并且有两个记录,其title字段分别是(1)“主页内容”和(2)“主页中的内容”。如何使solr短语搜索区分单词的相对位置

如何配置solr,使(1)对于给定查询具有比(2)更高的匹配分数。

(我知道这没有意义在这个简单的例子使用edismax,但我想这个问题解决者需要注意的是,我的实际情况使用edismax。)

这里我的当前(极度简化)配置:

schema.xml中

<field name="title" type="text_general" indexed="true" stored="true"/> 

solrconfig.xml中

defType='dismax' 
qf="title^2" 

回答

1

另一种方法是使用pf参数。如果术语靠得更近,它会将文档排在更高的位置。

此外,您可以使用ps参数
(短语Slop)来指定两个词可以分开以匹配相关短语的位置数。

Here是链接到文档。

0

您是否尝试过提升组件?

对于某些查询字符串,您可以通过在elevate.xml文件中使用其docID来指定哪个文档位于结果的顶部,该文件位于conf文件夹内。

例如:

<query text="Homepage"> <doc id="docID" /> <!-- put the first doc ID--> <doc id="docID" exclude="true" /> <!-- exclude this doc --> </query>

如果文档匹配指定排除=真,则可以消除在结果文档甚至想到。

相关问题