2011-06-30 104 views
0

背景:如何根據條件提高Solr搜索結果的分數?

1 - 我正在使用WebSolr進行此搜索。 2 - 我有兩個字段存儲在websolr - 名稱和ID。

我想搜索基於名稱這些條目並提高基於此標準的搜索比分:

if id in [x1,x2..xN] then +2 
if id in [y1,y2..yN] then +1 
else +0 

從我的研究,答案就在下面的 - 功能查詢,或 - DisMaxQParser

我看過文檔,但IMO不是很全面。

任何幫助表示讚賞。

回答

1

您可以使用提升。嘗試像

name:searchString AND (id:[x1 TO xN] ^2 OR id:[y1 TO yN]^1) 
0

除了查詢到HKN的方法,你也可以使用DisMax query parser升壓查詢:

q=queryString 
&defType=dismax 
&qf=… 
&bq=id:[x1+TO+xN]^3 
&bq=id:[y1+TO+yN]^2 

(未經測試,而是應該傳達的理念。)