2013-03-24 63 views
3

我正在開發一個平臺,用戶正在組織項目的集合中。用戶可以遵循每個集合。這些集合隨後被索爾索引,並可搜索。我意識到,如果我使用一種非常簡單的方法來提高集合名稱(以及內部項目的名稱),我得到的結果主要是具有非常少量項目的集合(這是正常的,因爲詞彙池更小=>相關性更高)。當然,這不完全是我想要的。提高字段的相關性,使用另一個值(數字)

我想要的是能夠提高集合名稱與另一個字段,我也索引在索引,稱爲numItems。

換句話說,而不是name:query^3,要達到這樣的name:query^numItems,甚至更好name:"query"^(numItems*numFollowers)

這可能嗎?這是唯一的選擇嗎?唯一想到的其他事情是嘗試按照相同的參數對結果進行排序。

回答

2

最簡單的方法是通過schema.xml中的omitNorms字段屬性禁用主字段的長度標準化。

如果您仍然需要對打分進行微調,則可以使用函數查詢。見here更多的信息,但採用的是簡單的升壓查詢字符串的一個簡單的例子像你描述上面會:

q={!boost b=(numItems*numFollowers)}query 
+0

我認爲這會工作。我明天會試一試,看看它是否有幫助,然後我會將其標記爲接受的答案 – preslavrachev 2013-03-24 21:01:04

相關問題