2

私はsolr3.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 に答える