Lucene 5.x 和 2.x 之间 StandardAnalyzer 的默认行为有所不同,例如 that's H&M
,使用如下代码:
StandardAnalyzer analyzer = new StandardAnalyzer();
analyzer.tokenStream("text", new StringReader(chunkText));
在 lucene 2.x 中,它标记为:
[that, H&M]
在 lucene 5.x 中,它标记为:
[that's, h, m]
有什么方法可以让 lucene 5.x 对齐 lucene 2.x 结果吗?
最佳答案
回到 Lucene 3,他们更改了 StandardAnalyzer
以实现 Unicode 文本分段,如 UAX #29 中指定的那样。 。如果您希望使用 2.X 中旧的、更简单的分词算法,请改用 ClassicAnalyzer
。
关于java - 如何使 Lucene 5.5.0 StandardAnalyzer 与 Lucene 2.9.0 StandardAnalyzer 保持一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48637511/