3.7. Hibernate Search および自動インデックスを有効化
3.7.1. Hibernate Search の有効化
Hibernate Annotations または Hibernate EntityManager を使用している場合、Hibernate Search はデフォルトで有効になります。何らかの理由でこれを無効にする必要がある場合は、
hibernate.search.autoregister_listeners を false に設定します。リスナーが有効な場合は、エンティティがインデックス化されない場合であってもパフォーマンスの影響はありません。
Hibernate Core の Hibernate Search を有効化するには (つまり、Hibernate Annotations を使用しない場合)、以下の 6 つの Hibernate イベントに対して
FullTextIndexEventListener を追加します。
例3.9 FullTextIndexEventListener を設定して Hibernate Search を明示的に有効にする
<hibernate-configuration>
<session-factory>
...
<event type="post-update"/>
<listener class="org.hibernate.search.event.FullTextIndexEventListener"/>
</event>
<event type="post-insert"/>
<listener class="org.hibernate.search.event.FullTextIndexEventListener"/>
</event>
<event type="post-delete"/>
<listener class="org.hibernate.search.event.FullTextIndexEventListener"/>
</event>
<event type="post-collection-recreate"/>
<listener class="org.hibernate.search.event.FullTextIndexEventListener"/>
</event>
<event type="post-collection-remove"/>
<listener class="org.hibernate.search.event.FullTextIndexEventListener"/>
</event>
<event type="post-collection-update"/>
<listener class="org.hibernate.search.event.FullTextIndexEventListener"/>
</event>
</session-factory>
</hibernate-configuration>