2016-12-10 13 views
0

私はtikaでSolr 5.3.1を使用してインデックス作成のためのpdfを抽出しています。このプロセスはうまくいきましたが、多くの改行が含まれています。アナライザを使って改行を削除する方法はありますか?ここでSolr tika newlineを削除

はアナライザの私のコードです:

<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するための一例にしようとしたstopwords_en.txtに改行区切り(\ n)を入れています。それはうまくいかなかった。私もsolr.MappingCharFilterFactoryを試しました。私は "\n"=> "<br>"または"\\n" => "<br>"のいずれかを入れようとしました。それはまた働かなかった。

誰でも改行を削除できますか?

これは、ユーザーがクエリを送信したときにどのように実行されるクエリ・タイム・アナライザであり、あなた

答えて

1

ありがとうございます。 Tikaの後処理は、インデックス時間分析器で行われます。それで、そこに定義してみてください。私はPatternReplaceCharFilterFactoryで十分だと思います。また、TrimFilterFactoryを調べることもできます。

関連する問題