Fess 13.3.1のリリース

Fess 13.3.1をリリースしました。いつもはリビジョンアップデート的なリリースには機能追加をしないのですが、今回は入れました。

まず、プラグイン管理画面ですが、テーマと普通のJARファイルを扱えるようになりました。テーマはfess-theme-*というjarファイルだとテーマとして処理されます。作りは単純なので、fess-theme-simpleとかみれば独自の検索画面を作ることもできると思います。あとは普通のJARファイルは、たとえば、DBをクロールしようとしたときにはJDBCドライバが必要になりますが、それを管理画面から配置できるようになりました。

あとは、バックアップ画面でfess.jsonとdoc.jsonをダウンロードとアップロードができるようになっています。なので、インデックスにフィールドの追加とかしたい場合は、doc.jsonをダウンロード&編集してアップロードした後に、メンテナンス画面で再インデクシングをすれば、新しいインデックス設定で作成することができるようになります。

今後も必要な変更や改善を加えていこうと思いますが、汎用的な機能追加があればお知らせください。(急ぎや汎用的でないものは商用サポートでのカスタマイズ開発対応になると思いますが…)

Fessのテーマ機能

次のリリースではプラグイン画面からテーマを追加することができるようになります。テーマ機能というのは検索画面を切り替える機能になります。とりあえず、現時点では、fess-theme-simpleだけになりますが、管理画面のプラグインからインストールすることで、使えるようになります。インストールしただけでは使えないので、仮想ホスト機能を使う必要があります。

たとえば、localhost:8080でアクセスしたときにfess-theme-simpleを使う場合は、まず、全般の設定で仮想ホストに

Host:localhost:8080=simple

を指定します。あとは、クロール設定の仮想ホストにsimpleを指定すれば、localhost:8080でアクセスしたときにsimpleテーマのデザインに切り替わります。

独自のテーマを作りたい場合は、fess-theme-simpleをコピーして、fess-theme-…にして、Maven Centralに置くとインストールできるようになります。管理画面からjarファイルをアップロードできるようにするかもしれません…。ファイル自体はsrc/main/resources以下に配置すればOKです。配置されたときの画像の実際のパスは、images/[theme]/name.jpgのようにテーマ名が挿入されるので注意が必要です。

という感じで、今後はテーマを増やしていければとも考えています。

Fess 13.3のリリース

検索としての新機能とかは特にない気がするけど、Elasticsearch 7.3に対応したFess 13.3をリリースしました。

検索としては特にないけど、最近、データストアの実装を増やして、Fess本体に追加していくと、配布バイナリのサイズが着実に大きくなってきたり、実行時にメモリに読み込むクラス数が増えてしまったりという課題がありました。そこで、もともとあとから追加とかも可能なデータソースの実装を管理画面から追加するようにできるようにして、配布バイナリのスリム化を実現しました。管理画面的にはプラグインというページが増えています。

もともとプラグイン化の構想はあって、実装的には後から追加的なことが可能な状態にはなっていたのだけど、ようやく実施したという感じではあります。データストアの実装以外にも検索画面も変えられるようにしたかったりと、いろいろなものを組み替えられるようにもしたいなとは考えています。

という感じで、今回は特に目新しいものはないですが、どうぞご利用ください。

FessでIngestのパイプラインを使う

ちょっと前に対応するコードは入れていたのだけど動いていなかった…。ということで、次の13.2.1から使えるようになるはずです。

どう使うかというと、まずはパイプラインを以下のようにElasticsearchに設定しておく。(zip版で試したので9201ポート)

$ curl -XPUT -H "Content-Type: application/json" localhost:9201/_ingest/pipeline/split -d '{
  "description": "Splitter",
  "processors": [
    {
      "split": {
        "field": "tags",
        "separator": ","
      }
    }
  ]
}' 

あとは、Fessの管理画面でクロール設定の設定パラメータのところに

config.pipeline=split 

を記述しておけば、そのクロール設定でクロールしたものにはElasticsearch上のパイプラインが適用されます。

今回は動作確認をしたいので、設定パラメータに

field.value.tags=aaa,bbb

も入れておく。これでtagsフィールドに強制的にaaa,bbbの文字列が入る。入れるけど、パイプラインが適用されて配列として最終的にはインデックスに入る想定。

あとはクロールを実行して

$ curl -XPOST -H "Content-Type: application/json" localhost:9201/fess.search/_search?pretty
...
           "tags" : [
             "aaa",
             "bbb"
           ], 

という感じでインデクシングされたことが確認できる。

Fess 13.2のリリース

今回は、Elasticsearch 7.2に対応したくらいでしょうか。それ以外だと、G1GCのパラメータ調整を行ったりしてます。たまにOOMが出たりもするので…。商用でも13系を使っていきたいので、そろそろいけるかなという感じです。

ここからダウンロードできます。ご利用ください。