【问题标题】:How to make Lucene 5.5.0 StandardAnalyzer align with Lucene 2.9.0 StandardAnalyzer?如何使 Lucene 5.5.0 StandardAnalyzer 与 Lucene 2.9.0 StandardAnalyzer 对齐?
【发布时间】:2018-02-06 07:21:02
【问题描述】:

标准分析器的默认行为在 Lucene 5.x 和 2.x 之间是不同的,例如that's H&M,使用如下代码:

StandardAnalyzer analyzer = new StandardAnalyzer();
analyzer.tokenStream("text", new StringReader(chunkText));

在 lucene 2.x 中,它被标记为:

[那个,H&M]

在 lucene 5.x 中,它被标记为:

[即,h,m]

有什么方法可以让 lucene 5.x 对齐 lucene 2.x 结果?

【问题讨论】:

    标签: java lucene tokenize


    【解决方案1】:

    回到 Lucene 3,他们更改了 StandardAnalyzer 以实现 Unicode 文本分割,如 UAX #29 中所指定。如果您希望使用 2.X 中旧的、更简单的分词算法,请改用ClassicAnalyzer

    【讨论】:

    • H&M 可以被 lucene 5.5 中的 ClassicAnalyzer 正确标记,但它也被标记为 that's,而不是 that。有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    相关资源
    最近更新 更多