使用弹性搜索现有数据库MySQL通过JHIPSTER中的UI执行搜索操作



我为POC目的启动JHIPSTER,我需要通过UI对MySQL数据库中现有的数据进行搜索。我有以下疑问:

  1. 我们是否需要安装/进行弹性搜索才能首先运行并检查结果?
  2. 或在创建Jhipster应用程序时选择弹性搜索并配置它足以进一步使用它?

我尝试通过安装Generator-Jhipster-Elasticsearch-Reindexer模块使用。但是它没有正常工作。安装后,我最终遇到了以下错误。

java.lang.illegalstateException:握手失败,不匹配的聚类名称[cluster [cluster [internal-test-cluster-name2843e241-241-29cc-4bc0-4bc0-82db-600eb78ed2261]] - .0.1} {127.0.0.1:9300} 请访问org.elasticsearch.transport.transportservice.handshake(TransperService.java:404( 请访问org.elasticsearch.transport.transportservice.handshake(TransperService.java:367( 请访问org.elasticsearch.discovery.zen.unicastzenping $ pingingRound.getorConnect(unicastzenping.java:366( at org.elasticsearch.discovery.zen.unicastzens $ 3.dorun(unicastzenping.java:471( 请访问org.elasticsearch.common.util.concurrent.threadcontext $ contextPreservingabstractrunnable.dorun(threadContext.java:723( 请访问org.elasticsearch.common.util.concurrent.abstractrunnable.run(abstractrunnable.java:37( at Java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1149( at Java.util.concurrent.threadpoolexecutor $ worker.run(threadpoolexecutor.java:624( 在java.lang.thread.run(thread.java:748(

通过在application-dev.yml中添加sprig.data.jest.uri来解决上述错误,但搜索机制仍然无法正常工作。即,它无法在现有数据库上查询。

实际结果:能够从UI创建实体时从UI执行搜索。原因是当通过API制作实体时,它正在更新弹性搜索数据库并产生结果。预期结果:连接到MySQL数据库时,能够对已经存在的数据进行相同的搜索。

jhipster已经解释了如何在其网站上与Elasticsearch合作:https://www.jhipster.tech/using-elasticsearch/

这是您问题的简短答案:1.如果您使用嵌入式Elasticsearch实例,则不需要安装Elasticsearch,因为它在Dev配置文件中运行。2.您必须在创建JHIPSTER应用程序时选择Elasticsearch Open,以使生成器将搜索功能添加到您的代码。

Generator-Jhipster-Elasticsearch-Reindexer模块仅在您在应用中启用Elasticsearch时才有效。

最新更新