Compass
OPEN SYMPHONYからリリースされているCompassにLucene用のJdbcDirectoryクラスがあった。DbDirectoryなる実装はいくつか見つけたのだけれど、果たしてインデックスをDBに格納するのが有効なのかどうか。
インデックスの情報ソースがファイル以外の場合はデフォルトで提供されていないDirectoryインターフェースの実装を使う事になるのだけれど、単純な全文検索以外の目的で使用する場合情報ソースとしてファイルしかないのは不便。そこでDB用のDirectoryインターフェースの実装があるのはとってもうれしいのだが、一番気になるのはパフォーマンス。
- クローラーがDBにマスタデータを出力して、DBを情報ソース(JdbcDirectory)としてインデックスをDBに作成する。
- クローラーがファイルにマスタデータを出力して、ファイルを情報ソース(FSDirectory)としてインデックスをファイルに作成する。
さて、それぞれにたいしてクエリを発行した場合、パフォーマンスにはどういう影響が出るか?なんかDBの方が速い気がするんですけどね・・・やってみないとわからないので実験してみます。