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 のソースソースコードだと思うんだけど、これに品詞名称がいろいろ書かれていた。
コメントが外されている品詞名がデフォルトで除外されている品詞ということになりそうだ。
また、ついでにデフォルトのストップワードのソースコードもあった。
この辺りも検索対象から外れるってことなんだね。