2011-11-24 79 views

回答

7

是的,如果您針對未分析的字段類型進行搜索,則匹配是確切的。在默認的Solr模式中,未分析的字段類型被命名爲「字符串」(類「solr.StrField」)

編輯:它取決於你的意思是「精確地」。如果您的字段值是「支持臺」而您的查詢是「支持」,它應該匹配嗎?

  • 如果您的答案是肯定的,那麼您應該考慮配置詞幹。
  • 如果您的答案是否定的,即查詢必須與字段值相匹配,那麼您應該使用字符串(即未分析的)字段類型。

此外,如果您的查詢是「支持」和字段值是「支持」,它應該匹配嗎?

  • 如果您回答是,那麼您應該使用LowerCaseFilterFactory(您不能在字符串字段類型上執行此操作,您將不得不切換到文本字段類型)。
  • 如果您回答否,那麼可以使用字符串字段類型。

總之,Lucene/Solr文本分析流水線是非常可配置的,請參閱analyzer docs以獲取所有可用選項的參考。

+0

爲什麼downvote? –

+0

對不起,我的道歉,我正在瀏覽我的手機,並點擊了錯誤的箭頭。 –

+0

謝謝,這對我很有幫助 –

3

你所描述的稱爲詞幹。關於堆棧溢出還有另一個幾乎完全相同的問題,請查看:Solr exact word search 您需要重新索引並在配置中禁用詞幹分析。我不認爲有可能在查詢時做到這一點,因爲存儲在索引中的是詞的詞幹版本。在你的情況下,「支持」被存儲在索引中,甚至顯示「支持」。 這應該讓你開始How to configure stemming in Solr?

+2

這取決於OP「精確地」意味着什麼。這不一定僅限於阻止。 –

+3

你說得對,我認爲你的回答是對我的補充。其他轉變正在發生,我只是給出瞭解決方案的例子。同義詞,停用詞,縮小等等也可以配置。我認爲很重要的是,solr用戶可以發現配置文件以及配置文件的可配置性。 –

+0

同意! 。 。 。 。 。 。 –