2016-06-07 153 views
0

我有一個使用SnowballPorterFilterFactory來阻止該字段的場景。基於詞幹的Solr搜索

現在,它存儲了所有類型的人才像前:演員,舞者,歌手,模特兒等

出於此幫助我使用

Actor in mumbai 

Actors in mumbai 

兩個搜索。

現在我想用

show all who sings in mumbai 

我如何能匹配搜索歌手

它不適合現在匹配..

回答

0

使用Solr的管理界面的「分析」頁面看到正在爲singer執行什麼詞幹。這允許您查看這兩個術語的每個步驟,以及singsinger的最終結果是什麼。

這個差異很可能是因爲它們實際上並不是同一個詞 - 歌手是一個主題,而唱歌是一個動詞,並且將它們歸因於同一個詞可能會導致不好的結果。在這種情況下,您可以通過使用同義詞詞表獲得更好的結果。 singer的正確聲明可能僅僅是singer(歌手,歌手)。

+0

感謝您的評論。我已經通過創建自己的字段類型** text_stemming **解決了這個問題,其中我使用了2個過濾器工廠。 ** solr.SnowballPorterFilterFactory **和** solr.EdgeNGramFilterFactory **。現在,雪球將用於**歌手** => **歌手**和EdgeNGramFilterFactory將幫助我進行部分搜索。謝謝 –