Dictionaryプラグイン

Elasticsearch Dictionaryプラグインを作りました。Kuromojiのユーザー辞書やSynonymTokenFilterのシノニム辞書を管理するような機能が持てればなっと思っています。今後、必要な機能を追加していくかもしれませんが現時点では、辞書ファイルで課題になるのが、インデックスをスナップショットとリストアを行うときに辞書ファイルが保存されないので、辞書ファイルを持つインデックスファイルをスナップショットをとって、別環境に無邪気にリストアしても辞書ファイルがないのでインデックスが開かず、という状況です。しかも、現状のElasticsearchだとクラスタイベントをうまく処理しないので、おかしな状態になります。というわけで、このプラグインがインデックスのスナップショットを取ると同時に、インデックス内に含まれる辞書ファイル(.txtという値をもつもの)がインデックス設定にあればそれを辞書用のスナップショットを取ります(つまり、〜.dictionary〜という感じの名前のスナップショットが作成される)。というわけで、リストアするときには、普通にリストアを実施すると、辞書用スナップショット(〜.dictionary〜の名前のスナップショット)が存在するかどうかチェックして、存在すれば、先に辞書を復元する感じです。これで、スナップショット用リポジトリをリストア先にもきちんと設定されていれば、辞書も安心して扱える感じです。
そんな感じですが、Kuromojiなどで辞書ファイルを持っていたりする場合とかで利用してもらえれば、辞書も安心して復元できると思います。

カテゴリー: elasticsearch パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

Time limit is exhausted. Please reload the CAPTCHA.