2017-09-11 71 views
0

我有一個多值字段存儲字符串,我需要執行查詢。它將ID存儲爲字符串。所以,這是場:Solr中的不斷提升多值字段

<field name="id" type="string" indexed="true" stored="true" multiValued="true" termVectors="true"/> 

而且看起來查詢像

q: (id:'23' OR id:'24')^2 

這種過濾掉的文件,其中字段是23個或24的文件既具有這些ID是在頂部,具有這些ID之一的文件在下面。

我想要的是一個不斷提高的2.如果至少有一個ID匹配,給它一個提升2.我如何實現這樣的事情?

回答

0

一種可能的選擇是將這個查詢轉換爲ConstantScoreQuery,用^=

q: (id:'23' OR id:'24')^=2 

更換^在這種情況下,如果你的文檔將有兩個術語23和24或只是其中任何一個你仍然會有2.0的相同分數

+0

謝謝你,它完美的作品。 – Zalarox