Compass

OPEN SYMPHONYからリリースされているCompassLucene用のJdbcDirectoryクラスがあった。DbDirectoryなる実装はいくつか見つけたのだけれど、果たしてインデックスをDBに格納するのが有効なのかどうか。

インデックスの情報ソースがファイル以外の場合はデフォルトで提供されていないDirectoryインターフェースの実装を使う事になるのだけれど、単純な全文検索以外の目的で使用する場合情報ソースとしてファイルしかないのは不便。そこでDB用のDirectoryインターフェースの実装があるのはとってもうれしいのだが、一番気になるのはパフォーマンス。

  1. クローラーがDBにマスタデータを出力して、DBを情報ソース(JdbcDirectory)としてインデックスをDBに作成する。
  2. クローラーがファイルにマスタデータを出力して、ファイルを情報ソース(FSDirectory)としてインデックスをファイルに作成する。

さて、それぞれにたいしてクエリを発行した場合、パフォーマンスにはどういう影響が出るか?なんかDBの方が速い気がするんですけどね・・・やってみないとわからないので実験してみます。