Fess 13.11のリリース

Fess 13.11をリリースしました。

Fess本体からElasticsearchへの依存をなくした、初めてのリリースになります。とはいえ、本稼働させるためにはElasticsearchは必要になるので、運用するための構築方法はインストールガイドを参照してください。configsyncのインストール方法が今までと異なっているので、注意してください。

それでは、ざっと修正内容を振り返ってみましょう。

まず、ElasticsearchをFessから取り除く話で、CodeLibsではElasticsearch 7.10をフォークして、Fesenとしました。これは、Apacheライセンスで提供して、最新のElasticsearchと近いインターフェースを持たせて、Fessで最新のElasticsearchを使えるようにさせます。内部的な話なので、Fessを開発とかしなければ、遭遇することはない気がします。

次に、elasticsearch-dataformatプラグインを取り除きました。Elasticsearchの取り除きに関係しますが、Elasticsearchも必要最小限のプラグインで利用できるようにするため、FessでできることはFessで実装することで、elasticsearch-dataformatを取り除きました。

プラグイン管理画面で、インターネットに繋がらない環境でエラーになる問題があったので、インターネットが繋がらない環境で、管理画面でエラーが表示されないようにしました。

クロール設定のパラメータ等の入力で、passwordのようなキーの場合は、暗号化をして保存したりしていたのですが、tokenやsecretなどのキー名も暗号化するようにしました。

キーマッチ機能の強化で、今までは一つのクエリーに1つのキーマッチでしたが、複数指定できるようになりました。

管理APIのJSONレスポンスで、versionがありますが、今まで数値で返却していたのですが、13.10のような場合、jqとかに渡すと、13.1という感じで、切り捨てられたりするので、文字列に変更しました。検索APIのJSONレスポンスの方では文字列で、管理APIが数値となっていて、異なっていたものが、versionは文字列で返すに統一されました。(そのうち統一しようとは思っていたのですが、13.10で実害が出たので、今回実施しました)

実験的な機能として、fess_config.propertiesにelasticsearch.typeを追加しました。これにより、マネージドなelasticsearchでも動作ができるようになることを期待しています。まだ、クラウド系では検証できていないので、動作確認したら、ドキュメントとかも作られると思います。

パスマッピングに新しい選択肢として、保存したURLを追加しました。今までパスマッピングはインデックスする前に書き換えるしかできなかったのですが、クロールして取得したクロール先を書き換えたいという要件に対応できなかったので、管理画面からこの設定で書き換えができるようにしました。(過去のバージョンではxmlで指定することで書き換えはできます)

管理画面のダッシュボードで、elasticsearch 7.11だと使えないという問題があり、対応しています。これは、elasticsearch 7.11が_refreshなど、空bodyでないとエラーになるという仕様変更があったためです。

検索クエリーにLuceneのクエリーの予約文字があると、不正なクエリーとしてエラーが出るのですが、不正な文字があった場合は、エスケープしてクエリーを投げるようにしたので、今まで/とか含む検索文字を入れて、不正なクエリーエラーが出ていたようなケースでは検索が通るようになります。

以上になりますが、内部的にはFesenに変わることで、変更がいろいろとあったので、何かあればフォーラムとかに投げてください。

コメントを残す

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