我加入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