クラスタ構成におけるLuceneの使い方


今業務でLuceneが使えるかどうか検討中。
パッケージされているデモのソースを見たり、
実行してみたりしているところ。


そこで気になっていたのが、アプリケーションサーバ
クラスタ構成時の使用方法。
org.apache.lucene.index.IndexWriterを見ると
インデックス用のデータはファイルに出力されるみたいなんだけど、
複数サーバ時のインデックスデータの同期はどうするのかな。


データの場合はたいがいDBにいれて複数サーバで同期を取っているんだけど
インデックス用データもDBに入れれるとうれしいんだけどなぁ。
なんかうまい方法ないかな。


Luceneのwikiを見ると

Lucene's API also provide a way to use or implement other storage methods such as a in-memory storage (RAMDirectory), or a mapping of Lucene data to any third party database (not included in Lucene).

Lucene does not support that functionality out of the box, but several people have implemented JdbcDirectory's. The reports we have seen so far indicate that performance with such implementations is not great, but it is doable.


とあるのでLuceneでは未実装の模様。
そこでフリーライセンスのモジュールを探さなければと探すと、
CompassというプロジェクトにLucene用のJdbcDirectory
があるみたい。
ライセンスはApache2.0ライセンス。調査せねば。