我正在使用需要让abc
匹配Abc
和400
匹配400
(用户名匹配)的查询模式。
但是我在使用时发现LowerCaseFilterFactory
,查询时它没有返回任何结果400
。我深入研究了源代码,发现了LowerCaseTokenizerFactory
use LowerCaseTokenizer
which extends LetterTokenizer
,它过滤了所有的数字。
我应该如何解决这个问题?
你是对的,LowerCaseTokenizer
它将删除所有非字母。查看您的模式将非常有用(就提供有意义的答案而言),因为我不相信仅使用小写过滤器工厂会生成Tokenizer
任何类型的 a 。
不过,无论如何,标记器还有很多其他选择。两者Standard
或Classic
可能更适合您的需求。
类似的东西:
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
可能对你有好处。