まとめ
Elasticsearch-sudachi で Sudachi の設定をかえたいとき、additional_settings
をつかえば直接設定を追加できます。
従来の方法
辞書をデフォルトの system_core.dic 以外に切り替えたり、ユーザ辞書を追加したいとき、以前は Sudachi.json を用意して settings_path
でファイルを指定する必要がありました。
{
"settings": {
"index": {
"analysis": {
"tokenizer": {
"sudachi_tokenizer": {
"type": "sudachi_tokenizer",
"settings_path": "sudachi/sudachi.json"
}
},
"analyzer": {
"sudachi_analyzer": {
"filter": [],
"tokenizer": "sudachi_tokenizer",
"type": "custom"
}
}
}
}
}
}
設定が複数の箇所に分散するため非常にわずらわしく管理しづらい状況でした。
あたらしい方法
バージョン2.1.0から additional_settings
をつかって直接 sudachi.json の内容を指定できるようになりました。
"tokenizer": {
"sudachi_tokenizer": {
"type": "sudachi_tokenizer",
"additional_settings": "{\"systemDict\":\"system_full.dic\",\"userDict\":[\"user.dic\"]}"
}
}
指定した JSON は Sudachi のコマンドラインの -s
オプションをつかったときと同様に解釈されます。1
以前紹介した allowEmptyMorpheme
もおなじように指定できます。
"tokenizer": {
"sudachi_tokenizer": {
"type": "sudachi_tokenizer",
"additional_settings": "{\"systemDict\":\"system_full.dic\",\"allowEmptyMorpheme\":false}"
}
}
JSONを文字列に押し込んでいるので若干かきづらいですが、余分なファイルをつくることなくすっきり管理できます。
ではよい Sudachi life を。
-
デフォルトの設定ファイルに対して、重複する項目は上書き、ないものは追加。 ↩