2016-08-02 50 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>

如果文檔匹配指定排除=真,則可以消除在結果文檔甚至想到。

相關問題