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>