Для выполнения операции поиска через пользовательский интерфейс в Jhipster используется эластичный поиск по существующей базе данных MySQL. - PullRequest
0 голосов
/ 26 июня 2019

Я запустил Jhipster для PoC, и мне нужно выполнить поиск по пользовательскому интерфейсу для уже существующих данных, присутствующих в базе данных MySQL. У меня есть следующие сомнения:

  1. Нужно ли устанавливать / иметь эластичный поискчтобы сначала запустить его и проверить результаты?
  2. Или выбора эластичного поиска при создании приложения Jhipster и его настройке достаточно, чтобы использовать его дальше?

Я пытался использоватьмодуль generator-jhipster -asticsearch-reindexer путем его установки.но это не сработало так, как ожидалось. После установки я обнаружил следующую ошибку.

java.lang.IllegalStateException: рукопожатие не выполнено, несоответствующее имя кластера [Cluster [имя-внутреннего-кластера-теста-2828e241-29cc-4bc0-82db-600eb78ed261]] - {127.0.0.1:9300‹‹pbkSwq2SQ-CTopgjT} {127.0.0.1} {127.0.0.1:9300} в org.elasticsearch.transport.TransportService.handshake (TransportService.java:404) в org.elasticsearch.transport.TransportService.handshake (TransportService.java:367) в орг.asticsearch.discovery.zen.UnicastZenPing $ PingingRound.getOrConnect (UnicastZenPing.java:366) в org.elasticsearch.discovery.zen.UnicastZenPing $ 3.doRun (UnicastZenPing.java:471) в org.elasticsearchConur.tur$ ContextPreservingAbstractRunnable.doRun (ThreadContext.java:723) в org.elasticsearch.common.util.concurrent.AbstractRunnable.run (AbstractRunnable.java:37) в java.util.concurrent.ThreadPoolExecutor.rjo49 (Thread)java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624) в java.lang.Thread.run (Thread.java: 748)

Данная ошибка была устранена путем добавления sprig.data.jest.uri в application-dev.yml, но механизм поиска все еще не работает.то есть, он не может запрашивать существующую базу данных.

Фактический результат: возможность выполнять поиск из пользовательского интерфейса при создании объекта из пользовательского интерфейса.Причина в том, что когда сущность создается через API, она обновляет базу данных эластичного поиска и выдает результат.Ожидаемый результат: возможность выполнять тот же поиск уже существующих данных при подключении к базе данных MySQL.

1 Ответ

1 голос
/ 14 июля 2019

Jhipster уже объяснил, как работать сasticsearch на их сайте: https://www.jhipster.tech/using-elasticsearch/

Вот краткий ответ на ваш вопрос: 1. Вам не нужно устанавливатьasticsearch, если вы запускаете свое приложение в профиле разработчика, потому что оно использует встроенный экземпляр Elasticsearch. 2. Вы должны выбрать Elasticsearch open при создании приложения Jhipster, чтобы генератор добавил возможности поиска в ваш код.

Модуль generator-jhipster -asticsearch-reindexer работает только в том случае, если вы включили Elasticsearch в своем приложении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...