【问题标题】:Shingle filter factory startOffset must be non-negative, and endOffset must be >= startOffset带状滤波器工厂 startOffset 必须为非负数,endOffset 必须 >= startOffset
【发布时间】:2013-12-02 08:42:44
【问题描述】:

我在这些分析器中使用 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

此异常仅针对特定文件发生。但是,当我更改顺序并在worddelimeter 之前放置stopwords 过滤器时,它可以正常工作。但这不是正确的做法!

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

【问题讨论】:

  • 您能否添加详细信息(例如发生这种情况的文件?)
  • 另外请添加异常的整个堆栈跟踪。就目前而言,这个问题很难解决。

标签: java solr lucene


【解决方案1】:

不是你,这是 WordDelimiterFilter 中的一个已知限制/错误。请参阅https://issues.apache.org/jira/browse/LUCENE-5111 Rob Muir 今天添加了一个补丁,看来您可能会幸运地使用 Lucene 4.8。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 1970-01-01
    • 2016-08-17
    • 1970-01-01
    • 1970-01-01
    • 2020-12-26
    相关资源
    最近更新 更多