我不知道这是错误还是功能,但 Solr NGramFilterFactory 不适用于数字。
这是我的字段类型:
<fieldType name="phone_test" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.LowerCaseTokenizerFactory"/>
<filter class="solr.NGramFilterFactory" minGramSize="3" maxGramSize="30" side="front" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.LowerCaseTokenizerFactory"/>
</analyzer>
</fieldType>
当我在 Solr 管理界面中使用分析器并输入诸如“业务”之类的单词时,它工作正常,但是当我写数字(例如 12345678)时,它不起作用。
我想要的是搜索部分电话号码。如果我有 123456789 作为电话号码,并且我搜索 456 或 6789,我应该会成功。
有任何想法吗?