ページ

2012年6月19日

Solrのスキーマ schema.xml のトークンフィルタ設定~StopFilterFactory編

Apache Solr ロゴ

solr.StopFilterFactoryとは

テキストファイルに列挙した単語 (ストップワード Stop words) を取り除くトークンフィルタ。 英語圏なら"this", "is", "a", "the"など、日本語圏なら"これ", "は", "です", "ます"などは検索にはほとんど使用されないため、これらの単語をストップワードとして登録し、インデックス作成時やクエリ時に取り除くことでインデックスサイズを小さく抑え、検索単語数を少なくすることで検索速度を速くすることができる。

使い方

ストップワードはテキストファイルに列挙し、schema.xmlと同じディレクトリに保存する。

words属性でstop wordsファイルを指定し、ignoreCase属性で英単語の大文字小文字を区別する (false) か否か (true) を指定する。

<fieldType name="text_jaとかを指定" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="false">
  <analyzer>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_ja.txt" />
  </analyzer>
<fieldType>

ストップワードファイルは例えば以下のように記述すればよい。(1文字のものはLengthFilterFactoryで除外するので記述していない)

あの
ある
あれ
いる
いわゆる
および
かしら
から
くらい
けれど
けれども
こそ
この
これ
さえ
さて
さらに
しか
しかし
する
そして
その
そのうえ
それ
それで
だから
だけ
だけど
だに
だの
ために
つまり
です
では
でも
でもない
ところが
ところで
どの
とも
どれ
なぜなら
など
なので
ならびに
なり
ので
のに
ばかり
ほど
ます
また
または
まで
もし
やら
より

参考

Related Posts Plugin for WordPress, Blogger...