Dictionaryプラグイン

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

Fess 9.3のリリース

Fess 9.3のリリースは11/6に行ったのですが、その後、特に告知とかできていなかったので…。Fess 9.3では主に以下の点で修正が入っています。

  • Solr 4.10.2の採用
  • 差分クロール周りのロジック修正
  • サジェストを検索ログ、登録した候補、NGワードによる除外などの拡張
  • キーマッチ機能(特定の検索語が入力されたときに特定のドキュメントをブーストする)

上記以外には細かい修正がいろいろと入っている感じです。
リリース後、データストアクロール時に1つ問題があったため、現在は9.3.1を提供しています。
現状は、Fess 10に向けての作業に注力しているので、OSSとして、9.4をリリースするかは未定です。
(商用としてはメンテナンスの都合上、リリースする可能性はあるかとは思いますが…)
という感じですが、引き続きよろしくお願いたしますー。

CodeLibsのElastisearchプラグイン

ちょっと時間が経過してしまいましたが、CodeLibsで作成しているElasticsearchプラグインたちの紹介です。いろいろなElasticsearch案件にかかわらせてもらっていますが、そこで遭遇する課題ベースにElasticsearchプラグインたちを作成しています。なので、案件固有の問題はそれはそれでプラグイン等を作成するので、これ以上のプラグインたちを作っていることにはなりますが…。Elasticsearch自体はプラグインを作ることで個別の拡張を自由にできるので、必要に応じてさまざまな拡張が行えます。という感じで、いろいろと作ったプラグインたちを日本語でまとめた資料が今までなかったので、その説明資料になります。

そんな感じで、無償・有償でいろいろなプラグインたちを作っています 🙂