雑文発散

«前の日記(2015-07-08) 最新 次の日記(2015-07-10)» 編集
過去の日記

2015-07-09 [長年日記]

[Elasticsearch] elasticsearch-analysis-kuromoji で、品詞の除外指定の名称に何を設定すべきなのか悩んだ

Elasticsearch の日本語用形態素解析エンジンである elasticsearch-analysis-kuromoji では、設定により、特定の品詞を解析対象から外すことができる。

それが kuromoji_part_of_speech というものなのだけど、この設定に使う stoptags の指定方法がいまひとつ分からなかった。

ドキュメントに記載されている stoptags はこのようになっている。

"filter" : {
  "my_posfilter" : {
    "type" : "kuromoji_part_of_speech",
    "stoptags" : [
      "助詞-格助詞-一般",
      "助詞-終助詞"
    ]
 }
}

「助詞-格助詞-一般」とか「助詞-終助詞」とか、そういう指定をすればコントロールできるようだ。では、他の品詞を除外したい場合はどうすればいいのか?と悩んで、ちょっと詰まってしまった。

でも README.md をよく見てみたら、 lucene-analyzer-kuromoji.jar にデフォルトセッティングが書いてあるよ、と書かれていた。

Note that default setting is stoptags.txt include lucene-analyzer-kuromoji.jar.

で、おそらくこれが最新版の lucene-analyzer-kuromoji.jar のソースソースコードだと思うんだけど、これに品詞名称がいろいろ書かれていた。

コメントが外されている品詞名がデフォルトで除外されている品詞ということになりそうだ。

また、ついでにデフォルトのストップワードのソースコードもあった。

この辺りも検索対象から外れるってことなんだね。