我正在使用 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>
示例: 对于查询“件”。我到处都是 780 NumFound (文件数量)。我需要减少这一点,但最有可能的文档数。