2016-12-10 52 views
0

我正在使用Solika 5.3.1與tika來提取PDF索引。這個過程很有效,但它包含了很多換行符。無論如何使用分析器刪除這些換行符?Solr tika刪除換行

這裏是我的分析代碼:

<analyzer type="query"> 
    <!--<charFilter class="solr.MappingCharFilterFactory" mapping="mapping-FoldToASCII.txt"/>--> 
    <charFilter class="solr.PatternReplaceCharFilterFactory" pattern="([\\n])" replacement="" /> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.PatternReplaceFilterFactory" pattern="\u000A" replacement="," /> 
    <!--<Filter class="solr.PatternReplaceCharFilterFactory" pattern="([\\n])" replacement="" replace="all"/>--> 
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1" preserveOriginal="1" /> 
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> 
    <filter class="solr.StopFilterFactory" 
      ignoreCase="true" 
      words="lang/stopwords_en.txt" 
      /> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    <filter class="solr.EnglishPossessiveFilterFactory"/> 
    <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> 
    <!-- Optionally you may want to use this less aggressive stemmer instead of PorterStemFilterFactory:--> 
    <!--<filter class="solr.EnglishMinimalStemFilterFactory"/>--> 
    <!--<filter class="solr.PorterStemFilterFactory"/>--> 
    </analyzer> 

我試圖例如,對於CharFilter並把換行分隔符(\ n)轉換stopwords_en.txt。它沒有工作。我也嘗試過solr.MappingCharFilterFactory。我試圖把 "\n"=> "<br>""\\n" => "<br>"。它也沒有工作。

任何人都可以幫助刪除換行符?

謝謝

回答

1

這是你的查詢時間分析儀,當用戶提交查詢這是什麼運行。您的Tika後期處理髮生在指數時間分析器中。所以,試着在那裏定義它。我認爲PatternReplaceCharFilterFactory應該足夠了。或者,您可以查看TrimFilterFactory