検索

14.4. 手動によるインデックスの変更

download PDF
Hibernate Core が変更をデータベースに適用すると、Hibernate Search はこれらの変更を検出し、インデックスを自動的に更新します (eventListener が無効でない場合)。バックアップが復元したり、データが影響を受ける場合のように、Hibernate を使用せずにデータベースに変更が加えられることがあります。このような場合、Hibernate Search は Manual Index API を公開し、インデックスから単一のエンティティーを明示的に更新または削除したり、データベース全体のインデックスを再構築したり、特定のタイプへのすべての参照を削除したりします。
これらのメソッドはすべて Lucene Index のみに影響し、変更は適用されません。

14.4.1. インデックスへのインスタンスの追加

FullTextSession を使用します。index(T entity)特定のオブジェクトインスタンスをインデックスに直接追加または更新できます。このエンティティーがすでにインデックス化されている場合は、インデックスが更新されます。インデックスへの変更は、トランザクションコミット時にのみ適用されます。

例14.61 FullTextSession.index (T エンティティー) を介したエンティティーのインデックス作成

FullTextSession fullTextSession = Search.getFullTextSession(session);
Transaction tx = fullTextSession.beginTransaction();
Object customer = fullTextSession.load( Customer.class, 8 );
fullTextSession.index(customer);
tx.commit(); //index only updated at commit time
1 つのタイプのすべてのインスタンスを追加する場合や、すべてのインデックスタイプのインスタンスを追加する場合には、MassIndexer を使用することが推奨されます。詳細は「MassIndexer の使用」を参照してください。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.