1

我正在使用需要让abc匹配Abc400匹配400(用户名匹配)的查询模式。

但是我在使用时发现LowerCaseFilterFactory,查询时它没有返回任何结果400。我深入研究了源代码,发现了LowerCaseTokenizerFactoryuse LowerCaseTokenizerwhich extends LetterTokenizer,它过滤了所有的数字。

我应该如何解决这个问题?

4

1 回答 1

2

你是对的,LowerCaseTokenizer它将删除所有非字母。查看您的模式将非常有用(就提供有意义的答案而言),因为我不相信仅使用小写过滤器工厂会生成Tokenizer任何类型的 a 。

不过,无论如何,标记器还有很多其他选择。两者StandardClassic可能更适合您的需求。

类似的东西:

<analyzer>
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.LowerCaseFilterFactory"/>
</analyzer>

可能对你有好处。

于 2013-04-27T06:28:35.553 回答