マネージドなElasticsearch対応

Fessはelasticsearchプラグインを入れることで、全文検索としての機能拡張をelasticsearchに対して行ってきたけど、たまにマネージドなelasticsearchでは動かないのか?と聞かれるたびに、動かん、と回答してきた。7.11でライセンス問題やプラグインのアクセス権強化問題などがあったりして、この機会にマネージドなelasticsearchに対する対応を見直すことにしました。

elasticsearchプラグインがなしになると、辞書まわりの機能が使えなくなったりして、その辺の機能劣化が出てくるけど、それでもマネージドなelasticsearchを使いたいというケースではfess_config.propertiesで

elasticsearch.type=cloud
elasticsearch.http.url=http://<yourserver>:9200
elasticsearch.username=<elasticsearchにアクセスするユーザー名>
elasticsearch.password=<elasticsearchにアクセスするパスワード>

のような感じの設定することで、elasticsearchプラグインなしのelasticsearchを利用する感じになる。(今後、いろいろと検証したりしたら修正するかも…)

ただし、Fessは多言語対応している都合上、elasticsearch純正の以下のプラグインはインストールしておく必要があります。
・analysis-kuromoji
・analysis-nori
・analysis-smartcn
これらも入れたくないような場合は、fess.jsonとdoc.jsonを修正する必要があります。

という感じで、辞書のカスタマイズとかが必要ない&マネージドなelasticsearchを使いたい、みたいな場合には、利用できるかなと思います。Fess 13.11から利用できるようになる予定です。

Fess 13.10.3

Fess 13.10.3をリリースしました。特に大きな変更とかはないです。

・メンテナンス画面からの再インデクシングのパラメータを調整できるようにした
・再インデクシングの結果を確認してからエイリアスを張り替えるようにした
・RoleQueryHelperのmaxAgeのデフォルト値を修正した
・ADの利用時のロール名の正規化ロジック修正

という感じなので、細かいものばかりかなと思います。何かあれば、フォーラムに投げてください。

Fess 13.11に向けて…

elasticsearchのライセンス変更問題に対しては、ほぼ万全な準備ができていたのですが、elasticsearch 7.11がリリースされ、試してみたら大きな問題が発生しました…。7.11からelasticsearchプラグインが可能なアクセス権限が厳しくなり、elasticsearch-configsyncプラグインが利用できなくなったのです。このプラグインが使えなくなると何ができなくなるかというと、このプラグイン経由でelasticsearchに対して、辞書ファイルを送りつけていたのですが、それができなくることで、辞書変更ができなくなりました…。辞書がなければ、インデックスが作れないので、起動ができないと…。ということで、このプラグインへの依存度は大きく、この辺の仕組みを変えないと、しばらくリリースができないという感じです…。ということで、まず、

準備ができるまでは、elasticsearch 7.10系を対象にして、Fess 13.10.xのリリースが続く予定です。

13.11以降のバージョンに対しては、まず、configsyncプラグインをconfigsyncアプリに変更することで対応進めています。これにより、インストールするアプリが増えますが、今までどおりに辞書更新ができるようになる想定です。あとは、この機会にマネージドなelasticsearchのサポートも検討しようかなとも思います。マネージドなelasticsearchの場合、辞書の管理とか、一部の機能が利用できないことになるので、マネージドなelasticsearchを使うオプションを設定で追加して、機能を落とした感じで使えるようにしようかと。

という感じで、予定外の開発が発生してしまっている感じです。