Реализация поисковой системы для реляционной базы данных, такой как Oracle DB - PullRequest
0 голосов
/ 28 апреля 2018

У меня есть требование создать поисковик для реляционной базы данных, такой как Oracle. Я должен создать поисковую систему с помощью Elastic Search. После недели анализа все еще не уверен; какой архитектуре я должен следовать для этого требования.

Spring boot-spring data-elasticsearch
Spring data-elasticsearch
Spring boot-hibernatesearch

После этого я просмотрел этот сайт, чтобы составить представление о поиске в спящем режиме.

http://hibernate.org/search/releases/5.9/

До сих пор не очень ясно, какой из них я должен следовать, чтобы реализовать поисковую систему для реляционной базы данных. Любые предложения .?

Поисковая система, которая ссылается на поисковый компонент как прикрепленный.

enter image description here

1 Ответ

0 голосов
/ 02 мая 2018

Если ваш вопрос касается того, использовать ли Spring-Data или Hibernate Search, вы можете посмотреть мой ответ на этот другой вопрос .

Цитирование:

Я явно предвзят, так как я разработчик Hibernate, но я могу в По крайней мере, предоставьте некоторые элементы, ориентированные на Hibernate Search. Относительно чего "лучше", это вам судить.

Основным отличием является то, что Hibernate Search обеспечивает интеграцию между JPA и вашим индексом выбора (Lucene или Elasticsearch):

  • Hibernate Search будет автоматически добавлять / обновлять / удалять документы в вашем полнотекстовом индексе в соответствии с изменениями в ваших объектах JPA (как как только вы совершите транзакцию).
  • Hibernate Search позволит вам создать полнотекстовый запрос (полнотекстовый мир) и извлекать результаты как управляемые объекты (JPA мир).

Насколько я понимаю, Spring-Data-Elasticsearch ориентирован на доступ к Elasticsearch и не имеет никакой интеграции JPA вообще. То есть скажем, вы можете использовать Spring-Data-JPA, и вы можете использовать Spring-Data-Elasticsearch, но они не будут общаться друг с другом. У вас будет две отдельные модели, которые вы обновите и запросите отдельно.

Некоторые другие элементы:

  • Если вам не нужен распределенный индекс, Hibernate Search может работать во встроенном режиме Lucene без всего стека Elasticsearch. Будет вероятно, будет более легким.
  • Поиск Hibernate в настоящее время не очень гибок, когда дело доходит до настройки сопоставления Elasticsearch или использования расширенного поиска Elasticsearch особенности, из-за уровня абстракции. Это изменится в Впрочем, будущее ( Hibernate Search 6 ).
  • В разработке находится модуль Spring-Data-HibernateSearch, позволяющий извлечь выгоду из лучшего из обоих миров. Это еще не было выпущено и пока не очень хорошо документировано: https://github.com/snowdrop/spring-boot-hibernate-search-booster
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...