Hibernate Search を使用してデータベースにレコードを挿入/更新するときに自動インデックス作成を行うことは可能ですか? アプリケーションを実行するたびに手動で行うのではなく、誰かがそれを監視する必要があるため、チェックの必要がないたびに自動インデックス作成のようなコードを実行したいと考えています。
1 に答える
はい、可能性は大いにあります。エンティティに注釈を使用するだけです。このガイドをご覧ください: http://java.dzone.com/articles/hibernate-search-mapping-entit
編集:
やあ。休止状態のプロパティが正しい場合、インデックスが作成されたら、手動でテーブルにインデックスを付ける必要はありません。EntityManager/HibernateFactory を通過する各挿入は、休止状態の検索にヒットし、エンティティがインデックス付けされている場合は、インデックスも更新します。検索を適切に構成しましたか? 次のリンクを見てください: http://docs.jboss.org/seam/snapshot/en-US/html/search.html http://docs.jboss.org/hibernate/search/3.1/reference/en /html/search-configuration-event.html .
ドキュメントが明確に述べているように
デフォルトでは、Hibernate を介してオブジェクトが挿入、更新、または削除されるたびに、Hibernate Search はそれに応じて Lucene インデックスを更新します。インデックスが読み取り専用の場合、またはインデックスの更新がバッチ方式で行われる場合は、その機能を無効にすることが望ましい場合があります (第 6 章「手動によるインデックス作成」を参照してください)。