1.4. インデックス化


Hibernate Search は Hibernate Core により永続化、更新、または削除された各エンティティを透過的にインデックス化します。ただし、Lucene インデックスにデータベースにすでに存在するデータを入力するためにイニシャルインデックス化をトリガする必要があります。上記のプロパティとアノテーションを追加したら、書式のイニシャルバッチインデックスをトリガします。これを行うには、以下のコード断片のいずれかを使用します (6章手動インデックス化 も参照)。

例1.6 Hibernate Session を使用してデータをインデックス化

FullTextSession fullTextSession = Search.getFullTextSession(session);
Transaction tx = fullTextSession.beginTransaction();

List books = session.createQuery("from Book as book").list();
for (Book book : books) {
    fullTextSession.index(book);
}

tx.commit(); //index is written at commit time
Copy to Clipboard Toggle word wrap

例1.7 JPA を使用してデータをインデックス化

EntityManager em = entityManagerFactory.createEntityManager();
FullTextEntityManager fullTextEntityManager = Search.getFullTextEntityManager(em);
em.getTransaction().begin();

List books = em.createQuery("select book from Book as book").getResultList();
for (Book book : books) {
    fullTextEntityManager.index(book);
} 

em.getTransaction().commit();
em.close();


Copy to Clipboard Toggle word wrap
上記のコードの実行後に、Lucene インデックスが /var/lucene/indexes/example.Book 下にあるはずです。Luke を使用してこのインデックスを確認します。これにより、Hibernate Search がどのように動作するかを理解できます。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat