Я использую solr для проверки орфографии/исправления запросов. Я добавил solr.PhoneticFilterFactory и solr.NGramFilterFactory в fieldType для выполнения проверки орфографии. Он работает нормально, но здесь проблема заключается в том, что я получаю количество документов запроса. Мне нужны только наиболее вероятные слова/документы или похожие слова, можно сказать, что более близкие слова/документы к запросу.
Фрагмент файла 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 (количество документов). Мне нужно уменьшить это количество, но с наиболее вероятным количеством документов.
@ MatsLindh:
Я пробовал использовать другой фонетический кодировщик, но думаю, что кодировщик DoubleMetaphone лучше всех. Есть что-то, относящееся к порогу, по которому я могу получить только самые популярные термины/документы для запроса. - person iNikkz   schedule 16.12.2014piece
? - person sidgate   schedule 22.12.2014