我正在使用solr进行拼写检查/查询更正。我在 fieldType 中添加了solr.PhoneticFilterFactory和solr.NGramFilterFactory来执行拼写检查。它工作正常,但这里的问题是我正在获取查询的文档数量。我只需要最可能的单词/文档或类似的单词,我们可以说离查询更近的单词/文档。
schema.xml的片段:
<fieldType name="textSpell" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<filter class="solr.TrimFilterFactory"/>
<filter class="solr.NGramFilterFactory" minGramSize="2" maxGramSize="1000" />
<filter class="solr.LowerCaseFilterFactory"/>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.PhoneticFilterFactory" encoder="DoubleMetaphone" inject="true"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
<analyzer type="query">
<filter class="solr.TrimFilterFactory"/>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.PhoneticFilterFactory" encoder="DoubleMetaphone" inject="true"/>
</analyzer>
</fieldType>
示例:对于查询“ piece ”。我得到了大约780 NumFound(文档数)。我需要减少此计数,但最有可能的文档数量。