3.3. インデックスの共有 (同じディレクトリに 2 つのエンティティ)

注記

ここでは、このオプションが利用可能であることのみを示しています。実際には、インデックスの共有にはそれほど利点がありません。
複数のエンティティの情報を単一の Lucene インデックスに格納することは技術的には可能です。これを行うには 2 つの方法があります。
  • 基礎となるディレクトリプロバイダが同じ物理インデックスディレクトリを参照するよう設定します。実際には、プロパティ hibernate.search.[fully qualified entity name].indexName に同じ値を設定します。例として、FurnitureAnimal エンティティに対して同じインデックス (ディレクトリ) を使用します。例 “Animal” の両方のエンティティに対して indexName を設定します。両方のエンティティは Animal ディレクトリに格納されます。
    hibernate.search.org.hibernate.search.test.shards.Furniture.indexName = Aninal hibernate.search.org.hibernate.search.test.shards.Animal.indexName = Aninal
  • 同じ値にマージする、エンティティの @Indexed アノテーションの index 属性を設定します。Animal のすべてのインスタンスとともに再び Furniture インスタンスを Animal インデックスでインデックス化する場合は、Animal クラスと Furniture クラスの両方で @Indexed(index=”Animal”) を指定します。