Elasticsearch DataFormatプラグイン

ElasticsearchはRESTをウリにしているせいもあって、検索結果を返却できるフォーマットはJSON、SMILE、YAMLの3つしかない。そうは言ってもElasticsearchにCSVとかで、検索結果を返して欲しいときもある。そんなときに使えるのがDataFormatプラグインになります。現時点では、CSVだけを返す感じです。_data?format=csvでアクセスすればCSVが返ってきます。csv.encoding=MS932とすれば、日本語環境では読めるのではないかな。あとは、fl=a,b,cみたいなリクエストパラメータをつければ、返却したいプロパティを絞り込めます。Excelあたりもサポートしたら、リリースしようかな。

Elasticsearch Quartzプラグイン 1.0.0

Elasticsearch Quartzプラグインの1.0.0をリリースしました。Elasticsearchのpluginコマンドで簡単にインストールできます。とはいえ、現状、このプラグインだけでは何も実行できません…。将来的には任意のスクリプト言語とかでジョブとか登録できるようにしたいところです。今のところは、プラグインのためのプラグインの感じで使う感じです。

Fess 9に向けて

まぁ、いつものことながら、機能は十分に揃っていると思うし、そろそろ大きな追加はいらないんじゃないか、というのを毎回思っているような気がしますが、いつのものように例外はなく、Fess 9では大きな変更が入る予定です。機能的にはいつもより大きな気もします…。

  • ジョブ管理機能:今までウェブの画面上では1つのクロールしか実行できませんでしたが(商用サポートではバッチでクロール実行しているのでパラレル実行は今までもしていましたが)、クロールの実行やログのパージなど、すべてジョブ化してFessの管理画面から設定が可能になります。標準ではGroovyで記述すれば何でもできるようになります(他の言語サポートは未定)。
  • コンテンツプロキシ(対応中):file://〜のURLをJavaアプレットでなく、Fessでプロキシしてブラウザに渡します。認証がある場合はロール検索を適切に利用する必要があります。
  • サジェスト強化(検討中):サジェストまわりのロジックをリファクタリング予定
  • レスポンス形式の抽象化(検討中):様々なリクエストとレスポンス形式を簡単に作れるように処理を汎用化しようと考えています。これにより、Google MiniなどのGSA系のXML出力をできるようにして、移行をスムーズにできるようにするのを目指します。
  • 期限切れドキュメントの扱い:今までクロールセッション情報に有効期限を記述していましたが、SolrCloudなどの分散環境とかだとちょっと運用が面倒になるケースがあったりするので、ドキュメント自体に有効期限を持たせるようにしました。まぁ、この辺の実装は差分クロールが絡むと結構作るのが大変なのですが…。

という感じの変更が入るかと思います。それ以外にはSolrや関連ライブラリの更新が入ると思います。という感じで、年内にはリリースできたらなー、と思います。