【问题标题】:solr LowerCaseFilterFactory should not filter numbersolr LowerCaseFilterFactory 不应该过滤数字
【发布时间】:2013-04-27 14:28:35
【问题描述】:

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

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

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

【问题讨论】:

    标签: java solr


    【解决方案1】:

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

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

    类似的东西:

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

    可能对你有好处。

    【讨论】:

      猜你喜欢
      • 2015-03-15
      • 1970-01-01
      • 2023-01-04
      • 2012-04-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多