我加入solr索引:「美國人」。當我搜索「美國」時,沒有結果。如何在Solr中配置詞幹?
schema.xml應該如何配置才能獲得結果?
當前配置:
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt" />
<filter class="solr.RemoveDuplicatesTokenFilterFactory" />
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt" />
<filter class="solr.RemoveDuplicatesTokenFilterFactory" />
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>
試過兩種方法。一樣。 – user657009 2011-03-12 22:51:34
index:「老虎機」 \t當我通過「老虎機」,「老虎機」,「老虎機」搜索時,有結果。 index:「American」 \t沒有結果:「American」。 – user657009 2011-03-12 22:55:32
您應該做的第一件事是打開您的Solr管理員web應用程序,轉到分析並選擇您的字段類型/名稱(同時選中詳細輸出字段),在索引字段中鍵入American,在查詢字段中鍵入America。這將允許您查看它的分析方式,通過過濾器進行過濾。如果您還沒有下載[它是可執行的jar],請下載[Luke](http://www.getopt.org/luke/luke-0.9.9/lukeall-0.9.9.jar)以獲得更詳細的分析。啓動它並加載Lucene索引。用它來找出你的內容到底有多精確,以及其他許多有用的信息...... – 2011-03-12 23:06:57