2

我使用 solr 3.4。当我搜索一个词时,我有一个 InvalidTokenOffsetsException。我的字段类型如下:

    <fieldType name="text" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
                    <filter class="solr.ASCIIFoldingFilterFactory"/>
        <filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="15" />
        <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
  <analyzer type="query">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
                    <filter class="solr.ASCIIFoldingFilterFactory"/>
        <filter class="solr.EdgeNGramFilterFactory" minGramSize="3" maxGramSize="15" />
        <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>
</fieldType>

当我删除“ASCIIFoldingFilterFactory”时,它可以工作。“ISOLatin1AccentFilterFactory”也有同样的问题。

有人有解决方案吗?

谢谢

4

1 回答 1

0

我遇到了同样的问题,并报告了一个错误https://issues.apache.org/jira/browse/LUCENE-3642 - 它现在已修复在主干中。

我手动应用了补丁并自己编译了 solr,为 Solr 3.4 和 Solr 3.5 工作,尽管补丁没有完全应用,我不得不进行一些手动修复。

于 2011-12-27T11:01:16.960 回答