8.2. Lucene ディレクトリへのアクセス
Lucene ディレクトリにはプレーンな Lucene を使用して常にアクセスできます。ディレクトリ構造は Hibernate Search を使用する場合でも使用しない場合でも変わりません。ただし、特定のいディレクトリにアクセスするにはいつくかの便利な方法があります。
SearchFactory はインデックス化されたクラスごとに DirectoryProvider を追跡します。クラスが基礎となる同じインデックスディレクトリを共有する場合は、1 つのディレクトリプロバイダをインデックス化された複数のクラスで共有できます。通常は当てはまりませんが、インデックスが共有された場合、特定のエンティティは複数の DirectoryProvider を持つことができます (「インデックスの分割」 を参照)。
例8.2 Lucene Directory へのアクセス
DirectoryProvider[] provider = searchFactory.getDirectoryProviders(Order.class); org.apache.lucene.store.Directory directory = provider[0].getDirectory();
DirectoryProvider[] provider = searchFactory.getDirectoryProviders(Order.class);
org.apache.lucene.store.Directory directory = provider[0].getDirectory();
この例では、ディレクトリは
Order 情報を格納する lucene インデックスを参照します。取得された Lucene ディレクトリはクローズしないでください (これは Hibernate Search の責任です)。