Fess 14.2のリリース

Fess 14.2をリリースしました。大きな変更はありませんが、URLをクリップボードにコピーしたいという、長年あった要望に対応しました。なので、検索結果画面にコピー用のアイコンが表示されています。

今回の主な変更点は以下のような感じです。

#2657はMinIO連携したときに有効になるストレージ機能で、タグを設定できるようになりました。MinIOはS3互換なのでS3のタグと同様な感じの機能に対して、Fessから設定できるようになった感じです。

#2658#2659は検索結果画面でURLをクリックボードにコピーするアイコンを追加しました。ついでに、他の表示内容も整理しました。#2662でfess_config.propertiesでclipboard.copy.icon.enabledでアイコンを表示・非表示を調整できるようにしました。

#2660はOpenSearchDefinitionのリンクをfess_config.propertiesで無効にする設定を追加しました。EdgeがWindows統合環境のSSO環境において、このリンクで謎の挙動をすることで、SSOが無効になる挙動が確認されたので、設定で無効にできるようにしました。

#2661は英語のラベルが実状と合うように変更しました。

#2665はデータストアクロールでパラメータにkeep_expires_docs=trueを指定すると、ドキュメントの有効期限が切れていても残すような設定を追加しました。フォーラムのこの話の対応です。

という感じで、他には、OpenSearch 2.0に対応したとかもありますが、何かあればフォーラムをご利用ください。

クリックボードコピー機能

Fessでファイルクロールをしたときとかで、リンク先のURLをクリップボードにコピーしたいと言われ続けて、長い間、放置?してきていましたが、今回、プルリクをもらったので、検索結果画面を整理して、取り込ませていただきました。ということで、14.2からコピーアイコンが表示される感じになっています。お気に入りリンクも星アイコンに変えたりしたので、UI周りは微調整はしていくかも。まぁ、UIまわりは継続して改善していこうとは思ってます。

Fess 14.1.1のリリース

Fess 14.1.1をリリースしました。細々とした修正を入れた感じです。

#2648はフォーラムのこれで上がっていた話で、フィールド指定したフレーズクエリーがうまくいかないケースがあったので、クエリー処理を見直して、修正しました。

#2649もフォーラムのこれで上がっていた話で、複数のElasticsearchを指定できないという話を対応しました。いつか対応しようと思い、放置していましたが、今回対応しました。カンマ区切りで指定できるようになりました。

#2650は上の複数のElasticsearchの指定に絡む話で、アクセスできなくなったときにはしばらくアクセス対象外にして、elasticsearch.heartbeat_interval間隔でチェックして、利用可能な状態になっていたら、普及したとみなして、再度、アクセスしにいくようにする感じです。なので、障害が発生して、利用できない状態であれば、利用可能リストから除外しておいて、1分間隔でチェックして、利用可能になれば、また利用するみたいな感じです。

#2651はCookieでSameSite属性を指定できるようになりました。最近のブラウザが厳しいので、SAMLとかの環境で利用できると思います。

#2653はmapping.txtの指定方法を間違っていたので修正しました。同義語みたいにカンマ区切りで複数指定できないので、正しい記述にしました。

#2654はKuromojiの辞書登録の内容チェックを追加しました。

#2655は共有フォルダなどのクロールにおいて、SIDの権限は利用していなかったのですが、EveryoneがSIDが5で返ってきているので、SIDが5のものも利用するようにしました。ユーザーとして、扱うようにしたので、パーミッション的には{user}Everyoneみたいな指定になります。

という感じで、細々とした話が多いのですが、Elasticsearchの複数のコーディネートノードを指定できるようになったりと、そこそこな強化な修正が入っています。何かあれば、フォーラムをご利用ください。

FessでCookieにSameSite属性を付ける

Fessで利用しているCookieにSameSite属性を付けていないので、近頃のブラウザだと、Lax的な処理をして、Cookieを受け取れないケースとか出てきているようなので、次のリリースで対応される予定です。SameSite属性をNoneにしたい場合は、tomcat_config.propertiesでtomcat.sameSiteCookies=Noneを指定してみてください。

Fessでの複数の接続先対応

現状、ES_HTTP_URLには1つの接続先しかかけないのだけど、そのうち、複数の接続先対応をしないとな…と思い放置していたのですが、フォーラムでElasticsearchのクラスタのコーディネートノードが複数いる場合にどうするのだ?みたいな話が上がったので、対応することにした。商用サポートの場合だと、ほとんどの場合でFessとElasticsearchが相乗りしている状態なので、この要件の優先度が上がらなかった。

Fess 14.1.1からES_HTTP_URLに

ES_HTTP_URL=http://es01:9200,http://es02:9200

みたいにカンマ区切りで記述すれば、ラウンドロビンでアクセスするようになります。アクセスに失敗した場合は、他の利用可能なサーバーにリトライします。失敗したサーバーはデフォルトでは10秒後にアクセスできれば復帰します。

この辺の処理は、Fesen HttpClientで対応しているのだけど、問題があれば、発生ベースで対応していこうかなと…。という感じで、複数接続ができるようになる予定です。