Fess 13.6.1のリリース

Fess 13.6.1をリリースしました。バグフィックス的な修正がほとんどだった気もしますが、1つ影響がありそうな変更としては、同義語の処理を変更してます。standard_analyzerがいままで、複数を展開していたのですが、展開するのはやめて、インデックスでは1つの単語に寄せるようにしました。さらに、今までの処理だと同義語登録した単語に内包される単語が検索できなくなっていたのですが、それをbi-gramで展開するようにもしてみました。なので、同義語処理まわりが改善できたかなと思います。次のリリースに入れるでも良かった気もしますが、商用でもこのバージョンを使いたかったので…。

その他の改善系だと、インデクシング時にElasticsearchに投げる前のドキュメントをメモリに保存しているのですが、どれくらい保存するかがcontent lengthの情報に頼っていたので、実際のヒープメモリの使用量と乖離がある場合があったのですが、ヒープ使用量を見積もって、Elasticsearchに投げるようにしました。なので、データストアクロールとかで予期しないOOMとかが回避できるかと思います。

そんな感じで改善をおこなったので、利用してみてください。何かあれば、フォーラムに投げてもらえればと。

Fioneではじめる機械学習〜導入

QiitaにFioneではじめる機械学習〜導入を書きました。

Fioneの基本的な使い方をまとめました。Fioneを利用すれば、ブラウザ上でポチポチと、データをアップロードすれば、機械学習で予測モデルが作成できて、それをDockerで予測API化までできてしまう、というのがわかると思います。Fioneはオープンソース機械学習プラットフォームH2Oを利用しているので、AI関連の専門知識がなくても、精度が高い予測モデルが作成できると思います。

世の中にはAutoML関連で様々なプロダクトがあると思いますが、Fioneの目指すところは専門知識がなくても機械学習をできてしまう、というところ狙っています。なので、データをとりあえずアップロードすれば予測モデルが生成され、それが利用しても良いレベルの予測モデルなのかを教えてくれて、使えるなら予測APIとして利用したいシステムに組み込んで利用できる感じで、専門知識がなくても使えるような感じです。

Fioneは日々改善しているので、何かフィードバックなどあれば、フォーラムに気軽に投稿してください。

同義語処理の変更

Fessはstandard_analyzerで同義語を展開して検索できるようにしていますが、次のリリースで処理をちょっと見直そうしています。

現在は、A, Bを同義語として登録した場合、インデックスにはAとBが登録されます。これをAだけにする予定です。つまり、同義語展開してインデックスをしないようにします。これにより、インデックスサイズを減らす想定です。(まぁ、微々たるものなので、ほとんど減らないと思いますが…)

あとは、現状だと、同義語に内包されている単語がヒットできないのですが、同義語処理前の元の単語に内包される単語にヒットできるようにする予定です。なので、長い単語を登録したときとかにヒットしない問題を解決します。

そんなわけで、fessインデックスの設定が変わるのと、elasticsearch-analysis-extensionプラグインの更新で対応する予定です。