отказ от ответственности: я один из разработчиков Hibernate Search.
Цель проекта - не конкурировать с Lucene или Solr, а максимально облегчить интеграцию с приложениями Hibernate, чтобы избежатьнеобходимость поддерживать два мира в синхронизации и дублировать все операции отображения и CRUD.
Хотя мы предоставляем несколько общих помощников и удобную инкапсуляцию, Hibernate Search также может передать вам прямую ссылку на API Lucene, поэтомуЕсли вам нужно использовать «сырой» API Lucene, вы никогда не застрянете.Также для записи в индекс Hibernate Search предоставляет общий шаблон, который решит большинство известных требований, но если у вас очень нестандартные требования, вы можете получить полный контроль над написанными документами.
Solr - это хорошоальтернатива, но так как это отдельный сервер, вы должны взаимодействовать с ним через API REST, который совершенно другой, с его плюсами и минусами.Наличие второй службы для управления не всегда желательно, и, конечно, удаленные вызовы никогда не будут такими эффективными, как прямые ссылки на Lucene и на все его внутренние фильтры и кэши.Не все функциональные возможности Lucene могут быть предоставлены через удаленный API, и если вам нужно выполнить какую-либо операцию «низкого уровня», если это не реализовано в Solr, вы не сможете это сделать (без исправления Solr).Тем не менее Solr очень симпатичен, особенно если вы хотите поделиться индексом с другими приложениями, не относящимися к Java, и поэтому мы могли бы добавить сервер Solr для Hibernate Search, чтобы в конечном итоге синхронизировать сервер Solr (особенно, если есть интерес к нему и, возможно,некоторая помощь).
Наконец, API Lucene - действительно сложный процесс.Мы тратим много усилий на то, чтобы наилучшим образом использовать его для обеспечения максимальной производительности и предоставления стабильного API пользователям, использующим Hibernate Search. По сути, до сих пор все выпуски были обратно совместимы, что обеспечило повышение производительности при использовании новейших технологий.лучшие трюки из Lucene - которые на самом деле довольно часто меняют API;эти изменения всегда интересны, но будьте готовы сохранить это в своем приложении, если вы не используете правильную абстракцию.