我無法讓ngrams工作。這裏是我的schema.xml:EdgeNGramFilterFactory不工作(不索引?)
<fieldType name="text" class="solr.TextField" omitNorms="false">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="25" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
</analyzer>
</fieldType>
我的數據庫有
「伊麗莎白」
和
一堆條目「伊麗莎白」
當我試圖查詢「伊麗莎白」時,我只得到「伊麗莎白」而不是「伊麗莎白」。 奇怪的是,當我檢查了Solr管理,分析頁面顯示,EdgenGramFilterFactory確實可用,結果在「伊麗莎白」被擴展爲
ËEL禮eliz伊麗莎elizab elizabe elizabet伊麗莎白
看起來索引器沒有選擇這個。當我將同義詞過濾器從查詢塊移動到索引塊時,我遇到同樣的問題。也就是說,當我在查詢塊中有同義詞過濾器時,它可以工作,但是當我將它放入索引塊時,它不起作用。
我已重新啓動太陽黑子並重新索引多次。沒有骰子。有任何想法嗎?我如何直接檢查索引單詞列表?