Shingle过滤器工厂startOffset必须是非负的,endOffset必须是> = startOffset

时间:2013-12-02 08:42:44

标签: java solr lucene

我正在使用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过滤器时,它可以正常工作。但这不是正确的做法!

为什么会这样?在什么情况下,过滤器会以某种方式改变数据以导致异常?

1 个答案:

答案 0 :(得分:0)

不是你,它是WordDelimiterFilter中已知的限制/错误。请参阅https://issues.apache.org/jira/browse/LUCENE-5111 Rob Muir今天添加了一个补丁,所以看起来你可能对Lucene 4.8有好运。