首先,我已經看到the lucene doc它告訴我們不要產生比分爲百分比:Solr的:成績爲百分比
人們經常要計算「百分比」從Lucene的分數 確定什麼是「100%完美」比賽與「50%」比賽。這也是 也被稱爲「規範化得分」
不要這樣做。
說真的。不要試圖以這種方式考慮你的問題,這不是 會很好。
由於這些建議,我用另一種方式來解決我的問題。
但是,有幾點lucene的論證,我不明白他們爲什麼在某些情況下有問題。
對於this post的情況下,我可以很容易理解爲什麼它是壞的:如果用戶執行搜索,看到下面的結果:
- 產品A:5星
- 產品B:2星級
- ProductC:1星級
如果產品A是他第一次搜索後刪除,用戶下一次會來,他會感到驚訝,如果他看到了以下結果:
- 產品B:5星
- ProductC:3星級
所以,這個問題正是Lucene的文檔中指出。
現在,讓我們再舉一個例子。
想象我們有使用「經典搜索」與拼音搜索結合的電子商務網站。語音搜索在這裏是爲了避免由於拼寫錯誤而導致的最大數量的空結果。語音結果的得分相對於經典搜索的得分非常低。
在這種情況下,第一個想法是僅返回至少爲最高分數的10%的結果。即使使用經典搜索,結果低於此閾值也不會被視爲與我們相關。
如果我這樣做,我沒有問題上述帖子,因爲如果一個文件被刪除,這似乎合乎邏輯,如果舊的第二個產品成爲第一個,用戶將不會很驚訝(這是一樣的行爲,如果我把分數保持爲浮點值)。此外,如果語音搜索的分數非常低,正如我們所期望的那樣,我們將保持相同的行爲以僅返回相關分數。
所以我的問題是:是它總是壞,Lucene的建議正常化成績?我的例子是一個例外,還是對我的例子來說這是一個壞主意?
感謝您的回答和您的解釋。我對你在第2節中關於用戶所說的話有所瞭解並理解,但對於諸如方面之類的東西,我認爲用戶可能會迷路。 我們舉一個例子,我使用低音提升語音。在法語中,我們有「議程」這個詞,意思是「日記」。當用戶搜索'議程'時,語音會給出像'savon'這樣的結果,這意味着'soap',因爲它包含術語'agents nettoyants'(這意味着'更清潔')。 所以,我的第一個方面之一將是'肥皂',儘管我的搜索是'日記'!?即使是最聰明的用戶也會想知道會發生什麼?! – alexf