我在这些分析仪上使用的是Lucene 4.4版:
worddelimeter, patternFilter, synonyms, lowercase,
stopwords, kStemFilter, shingle, trimfilter.
分析器按我使用它们的顺序列出。当我尝试添加文档时,出现以下异常:
startOffset must be non-negative, and endOffset must be >= startOffset,
startOffset=37571,endOffset=37569
仅对于特定文件会发生此异常。但是,当我更改顺序并将
stopwords
过滤器放在worddelimeter
之前时,它可以正常工作。但这不是正确的方法!为什么会这样呢?在什么情况下一个过滤器可以某种方式更改数据以导致该异常?
最佳答案
不是您,这是WordDelimiterFilter中的已知限制/错误。参见https://issues.apache.org/jira/browse/LUCENE-5111 Rob Muir今天添加了一个补丁,因此您似乎对Lucene 4.8感到幸运。