lucene-gosenのTokenFilterたち(Jugemより移植)

Posted by johtani on Monday, June 6, 2011

目次

lucene-gosenをSolr/Luceneで利用する場合、TokenFilterを利用してTokenizerが出力したToken対してさまざまな処理(Tokenに対する正規化や展開など)を追加することが可能です。

今回は現在(ver. 1.0.1)用意されているTokenFilterについて説明します。 以下はTokenFilterの一覧です。 「フィルタ名」にはSolrのschema.xmlで記述するクラス名を書いてあります。

フィルタ名(Factory名) 概要
solr.JapaneseWidthFilterFactory 全角のASCII文字を半角に、半角カタカナを全角にするフィルタ。例:「Computer」->「Computer」
solr.JapanesePunctuationFilterFactory 区切り文字、記号などを除外するフィルタ。[※1](#token_filter_kome_1)
solr.JapanesePartOfSpeechStopFilterFactory 設定ファイルに記載した品詞に該当するTokenを除外するフィルタ。ファイルは「tags="ファイル名"」とfilterに記載。なお、ここで記述する品詞とはanalysis画面に表示される「partOfSpeech」の完全一致となります。
solr.JapanesePartOfSpeechKeepFilterFactory 設定ファイルに記載した品詞に該当するToken"以外"を除去フィルタ。ファイルは「tags="ファイル名"」とfilterに記載。なお、ここで記述する品詞とはanalysis画面に表示される「partOfSpeech」の完全一致となります。
solr.JapaneseBasicFormFilterFactory Tokenを基本形に変換するフィルタ。例:「悲しき」->「悲しい」
solr.JapaneseKatakanaStemFilterFactory カタカナの長音(ー)の正規化フィルタ。4文字以上のカタカナのみの文字列の最後の長音(ー)を除去した文字列に変換します。例:「コンピューター」->「コンピュータ」、「コピー」->「コピー」

上記のTokenFilterをJapanizeTokenizerを利用するフィールドタイプに設定することで 各フィルタによる機能が有効になります。 schema.xmlの記載に関する詳細についてはこちらを参考にしてください。

※1 Characterクラスの以下の定数に相当する文字が。SPACE_SEPARATOR、LINE_SEPARATOR、PARAGRAPH_SEPARATOR、CONTROL、FORMAT、DASH_PUNCTUATION、START_PUNCTUATION、END_PUNCTUATION、CONNECTOR_PUNCTUATION、OTHER_PUNCTUATION、MATH_SYMBOL、CURRENCY_SYMBOL、MODIFIER_SYMBOL、OTHER_SYMBOL、INITIAL_QUOTE_PUNCTUATION、FINAL_QUOTE_PUNCTUATION


comments powered by Disqus

See Also by Hugo


Related by prelims-cli