我建立一個搜索引擎與SOLR,並且當一個短語,如「蘋果」的用戶搜索,我得到的結果,如:SOLR:升壓的搜索詞的位置在現場
嬰兒食品,蘋果 ... 蘋果,生
我想「蘋果,生」出現超前「嬰兒食品,蘋果」,因爲這個詞的蘋果出現在眼前。有沒有辦法與SOLR做到這一點?爲了在搜索詞出現在前面的結果中獲得更多分數?
我建立一個搜索引擎與SOLR,並且當一個短語,如「蘋果」的用戶搜索,我得到的結果,如:SOLR:升壓的搜索詞的位置在現場
嬰兒食品,蘋果 ... 蘋果,生
我想「蘋果,生」出現超前「嬰兒食品,蘋果」,因爲這個詞的蘋果出現在眼前。有沒有辦法與SOLR做到這一點?爲了在搜索詞出現在前面的結果中獲得更多分數?
試試Q =(現場:蘋果*)^ 2或現場:蘋果
其中field是場針對您正在搜索
您的答案是特定於術語內容(蘋果)而不是術語的位置 - 它不回答題。 – 2011-05-17 12:06:58
好的蘋果在這裏是一個例子,這個解決方案在一開始就提升了蘋果的結果。但結果將取決於該領域使用的分析儀的類型。 – Umar 2011-05-17 17:41:54
問題是關於如何根據*位置*提升而非特定的期限值。所以如果我們在位置1有香蕉,你的答案是否奏效 - 不。請做一些研究,看看你能否改善答案。 – 2011-05-18 07:01:18
爲什麼Solr的,如果你正在尋找返回 「嬰兒食品」 的名字蘋果?你在使用同義詞嗎?所以問題是:如何「解除」同義詞?您可以發佈schema.xml的一部分 - 字段類型的類型定義,其中「apple」是其中的一部分?像http://www.ibm.com/developerworks/java/library/j-solr1/ < - 清單3 – 2011-04-21 07:29:33