Fess 13.13.1のリリース

13.13.1をリリースしました。特に大きな変更はないのですが、主な変更は以下の感じです。

#2582は、検索利用者の識別IDをCookieに入れているのですが、そのIDのバリデーション処理を整理して、複数のパターンの生成ロジックで同じバリデーションが適用されるようにしました。

#2581はXMLのパース処理で外部エンティティが参照されないようなオプションを追加しました。とはいえ、元々参照されないようにオプションは追加しているのですが、Tomcat以外のアプリケーションサーバーのとき(?)に追加するようにSonarが言い出していたので、念のために追加した程度の話なので、影響は特にないはずです。

#2580はキーマッチの詳細画面でその設定に一致したURLを表示する機能があるのですが、仮想ホストを設定していないと表示されない状態だったので、表示されるようにしました。

#2579は設定のリロード処理をリファクタリングしました。Fessをクラスタ環境で利用しているときには、設定情報をどこかのノードで変えた場合にその設定を他のノードにも反映する処理をConfigReloaderジョブで実施していますが、その処理を整理した感じです。

何かあれば、フォーラムに投げてください。

Fess 13.13のリリース

Fess 13.13をリリースしました。個々のコンポーネントでも変更はあると思いますが、Fess自体への変更を中心にまとめておきます。

#2568でプレフィックスクエリーやファジークエリーのパラメータをfess_config.propertiesで細かく指定できるようにしました。Fessの検索で ワイルドカード検索するときとかに細かい調整ができるようになりました。

#2569#2570はEOLとアップグレード画面の更新で、マイナーアップデートの定期作業です。

#2571はDeprecatedなメソッドを削除しました。

#2572は、キーマッチの設定で詳細画面では設定されたURLを表示するようにしているのですが、仮想ホストを利用している場合には表示されていなかったので修正しました。

#2573はデータストアクロールのクロール設定で、利用するスクリプト言語をパラメータで指定することができるようになります。デフォルトではGroovyですが、OGNLプラグインを入れると、スクリプトがOGNLで処理することができます。データストアクロールで高速かつ大量にクロールしたい場合は、OGNLを使ってみたりすると良いと思います。

#2574では、現状、クロール設定のパラメータのキー名がキャメル形式だったり、スネーク形式だったりと統一感がないので、スネーク形式に統一しようという試みです。とはいえ、互換性もあるので、現時点では、どちらでも指定できるような感じになっています。

#2575はMavenのPOMの整理をした修正です。Fessは数十を超えるプロジェクトが存在しているのですが、それらの依存ライブラリのバージョン管理が個別に行われており、メンテの手間が多くなったので、親プロジェクトを作ることで一括管理するようにしました。

#2576はmapping.txtで①などを1 に変えました。たとえば、「①②③」というのは、今までは「 123」として扱われていましたが、「1 2 3」とするようにしました。

#2577はAzureADでシングルサインオンをするときに権限情報の取得先を指定可能にしました。

#2578はgroovy.use.classvalueを使っている場所が残っていたので、削除しました。

何かあれば、フォーラムまでお知らせください。

ARM環境でのdocker-compose

ARM環境でdocker-composeコマンドを使いたいな、と思ったけど、ARM用のバイナリが提供されていない…。どうしたら良いかなとググると、ここによると以下の感じのシェルを使えば良いらしい。

sudo curl -L --fail https://raw.githubusercontent.com/linuxserver/docker-docker-compose/master/run.sh -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Fess 13.12.2のリリース

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

今回、修正したのは以下。

#2567は不要なオプションが残りっぱなしになっていたのを削除しました。

#2564は管理画面のクロール設定で検索するときにワイルドカードクエリーになっていて、日本語がうまく検索できないケースがあるので、フレーズクエリーに変えました。

という感じで、他にはコードをリファクタリングして整理したくらいで大した変更はありません。

大した変更はないのですが、今回、リリースしておきたかった理由としてはDockerイメージのARM対応をしておきたかったためです。13.12.2からDockerイメージをマルチアーキテクチャ対応して、amd64系とarm系の2種類の環境で動きます。elasticsearchはすでにARM対応しているので、Fessも対応することで、ARM環境でも動くようになります(AWSのGraviton環境で動いていたので、たぶん、普通に動くはず…)。

という感じで、新たにARM環境をサポートしてみたりしたので、何かあれば、フォーラムをご利用ください。

Fess on Kubernetes

Helm対応はできていないのだが、eckctlを作り、elastic cloud on k8sを試せる環境を作っていたので、それをベースにして、kubernetes-fessを作ってみた。簡単にいうと、FessをKubernetesにデプロイして簡単に試せる環境を作るツールみたいな感じです。

デフォルトでは、kindでk8s環境を作るので、ローカルでも簡単に試せると思います。eksctlコマンドを入れておけば、AWSのEKS上にも構築することができます。クラスタの構築内容とかはmanifestsディレクトリに置いてあるファイルを編集すれば調整できます。taintsで配置するPodのノードを指定して、resourceのrequestで1ノード1Podにしているので、AWSでインスタンスタイプを変えるときとかは合わせて変更する必要があります。

今回、EKSで試す環境が欲しかったかというと、elasticsearchのDockerイメージはマルチアーキテクチャに対応していて、ARM環境でも動きます。そこで、FessもARM対応したいなーと思い、検証環境が必要になったので、その環境を作った感じです。ということで、次のリリースから、FessのDockerイメージはARM対応していきます。