solr LowerCaseFilterFactory不应过滤数字

时间:2013-04-27 05:08:30

标签: java solr

我使用的查询架构需要abc匹配Abc400匹配400(用户名匹配)。

但是当我使用LowerCaseFilterFactory时,我发现,当我查询400时,它不会返回任何结果。 我深入研究了源代码,发现LowerCaseTokenizerFactory使用LowerCaseTokenizer扩展了LetterTokenizer,并过滤了所有数字。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

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

但无论如何,令牌器还有很多其他选择。 StandardClassic都可能更适合您的需求。

以下内容:

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

可能会为你做好。