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