2016-05-18 3 views
1

カスタムアナライザ実装のcreateComponents実装でHTMLStripCharFilterを使用しましたが、HTMLはコンテンツからは削除されません。コードを以下で見つけてください。HTMLStripCharFilterがカスタムアナライザのcreateComponent実装で動作しません

@Override 
    protected TokenStreamComponents createComponents(String fieldName) 
    { 
     StandardTokenizer source = new StandardTokenizer(); 
     source.setReader(mStripHTML ? new HTMLStripCharFilter(getReader()) : getReader()); 
     source.setMaxTokenLength(maxTokenLength); 
     TokenStream result = new StandardFilter(source); 
     result = new LowerCaseFilter(result); 
     return new TokenStreamComponents(source, result); 
    } 

答えて

1

CharFilterがあなたのcreateComponents方法で定義するべきではありませんあなた、それはinitReaderにする必要があります:

@Override 
protected Reader initReader(String fieldName, Reader reader) { 
    return mStripHTML ? new HTMLStripCharFilter(reader) : reader; 
} 

@Override 
protected TokenStreamComponents createComponents(String fieldName) 
{ 
    StandardTokenizer source = new StandardTokenizer(); 
    source.setMaxTokenLength(maxTokenLength); 
    TokenStream result = new StandardFilter(source); 
    result = new LowerCaseFilter(result); 
    return new TokenStreamComponents(source, result); 
} 
+0

ありがとうございました。しかし、私は昨日luceneのドキュメントで解決策を得ました。 –

関連する問題