基本上,我尝试在某种程度上纠正拼写,我使用查询分析器,
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0" preserveOriginal="1"/>
<filter class="solr.LengthFilterFactory" min="2" max="100" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt" />
<filter class="solr.NGramFilterFactory" minGramSize="4" maxGramSize="30" />
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
我想在NGramFilterFactory生成的标记上加上 *。如何在NGramFilterFactory生成的所有标记上加上 *?谢谢你的建议。
1条答案
按热度按时间8nuwlpux1#
使用n-gram是一种不使用通配符进行搜索的方法,由于它的性能更好,所以经常被使用。
让拼写检查器自己处理部分匹配,并将高质量的术语输入词典,以获得最佳结果。