【问题标题】:How to customise Lucene whiteSpaceAnalyzer to index words without special characters?如何自定义 Lucene whiteSpaceAnalyzer 对没有特殊字符的单词进行索引?
【发布时间】:2020-07-18 05:46:41
【问题描述】:

当我索引字符串的单词时,我不想要特殊字符。我了解 StandardAnalyzer 删除了特殊字符,但它也不索引停用词和单个字符,我想索引停用词和单个字符。

例如:酒店管理组织 (hmo) 网站列表 索引词:list、of、hotel、management、organization、hmo、site

有过滤器吗?我如何为此目的构建自定义分析器? 也许是用“”替换非字母数字字符的过滤器?

【问题讨论】:

    标签: indexing filter lucene special-characters analyzer


    【解决方案1】:

    StandardAnalyzer 听起来很合适。只需使用空的停用词集构建它:

    Analyzer analyzer = new StandardAnalyzer(CharArraySet.EMPTY_SET);
    

    至于构建您自己的分析器,请查看Analyzer docs。那里有一个示例,说明如何构建自己的分析器。如果 StandardAnalyzer 已关闭,您可以从中复制 createComponents 作为起点。

    【讨论】:

    • StandardAnalyzer 接近但它处理 '.'和'@'在某些情况下不同。我想要一个简单地删除所有特殊字符的分析器。
    猜你喜欢
    • 2011-10-24
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    • 1970-01-01
    • 2019-01-11
    • 1970-01-01
    • 2011-12-01
    相关资源
    最近更新 更多