2016-12-05 59 views
0

遇到此聲明「Solr不分析通配符查詢」here說「Solr不會分析查詢」是什麼意思?

我在讀這個,當一個*或?被檢測到,那麼分析器類型=「查詢」序列中的任何內容都不會運行。這也適用於分詞器嗎?

+0

編輯刪除分析器類型=查詢周圍的尖括號。 – LizH

回答

1

說應用通配符查詢時不發生分析是一個很好的規則(我自己說了很多次),但有一點錯誤。

確切的解釋是,any tokenizer or filter that isn't MultiTermAware will be excluded,所以Solr試圖沒有他們「做正確的事情」。您可以在關鍵字type="multiterm"(僅限MultiTermAware組件)下定義自己的分析鏈,爲多項查詢(例如通配符)定義自定義鏈。

唯一的tokenizer that is multitermaware as of 6.3 is LowerCaseTokenizer。此外KeywordTokenizer將工作,因爲它導致一個單一的令牌。

你可以看到whole list of MultitermAware components in the 'implemented by' list of the API doc