2011-09-21 115 views
2

我使用solr 3.4。當我搜索一個詞時,我有一個InvalidTokenOffsetsException。 我的字段類型的樣子:Solr突出顯示: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」的問題相同。

任何人都有一個解決方案嗎?

感謝

+0

解決的辦法是把ASCIIFoldingFilterFactory只是分詞後。 – bobosh

+0

BOOM!謝謝你,先生!你是一個活着的傳奇人物! :) –

+0

UPDATE: 其實它是固定的大部分,但我仍然可以得到它失敗......但我想我可以解決這 –

回答

0

我有同樣的問題,並報告錯誤https://issues.apache.org/jira/browse/LUCENE-3642 - 它現在固定在行李箱中。

我手動應用補丁和編譯Solr的我自己,我工作了兩個Solr的3.4和Solr 3.5雖然補丁沒有乾淨的應用,我不得不做一些手工固定。