Starman верен, Hibernate Search в версии 3.4 абстрагирует поисковую систему от Hibernate Core, а Infinispan Query - пример интеграции, который отлично работает без базы данных. С Spring также не возникло бы никаких проблем, но вам нужно обязательно отправить событие update в механизм запросов, чтобы индекс не синхронизировался. При использовании Hibernate преимущество заключается в том, что он прозрачно прослушивает изменения в базе данных и применяет их к индексу при фиксации транзакции, поэтому индекс всегда синхронизируется (или закрывается, если при настройке поиска используется асинхронный бэкэнд).
Я бы посоветовал взглянуть на код Infinispan Query, так как он очень маленький и просто делегирует вызовы для предоставления API со вкусом Infinispan . Большая часть кода является тестами или интеграцией для правильного управления жизненным циклом двигателя: запускайте и останавливайте его вместе с Infinispan.