elasticsearch,jhipster,Spring,elasticsearch,Jhipster" /> elasticsearch,jhipster,Spring,elasticsearch,Jhipster" />

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

Spring 使用弹性搜索现有数据库MySQL,通过Jhipster中的UI执行搜索操作,spring,elasticsearch,jhipster,Spring,elasticsearch,Jhipster,我启动Jhipster是为了PoC,我需要通过UI搜索MySQL数据库中已有的数据。我有以下疑问: 我们是否需要安装/拥有弹性搜索以便首先运行它并检查结果 或者在创建Jhipster应用程序并对其进行配置时选择弹性搜索就足以进一步使用它了 我已经尝试通过安装发电机jhipster elasticsearch reindexer模块来使用它。但它并没有像预期的那样工作。在安装之后,我出现了以下错误 java.lang.IllegalStateException:握手失败,群集名称不匹配[clust

我启动Jhipster是为了PoC,我需要通过UI搜索MySQL数据库中已有的数据。我有以下疑问:

  • 我们是否需要安装/拥有弹性搜索以便首先运行它并检查结果
  • 或者在创建Jhipster应用程序并对其进行配置时选择弹性搜索就足以进一步使用它了
  • 我已经尝试通过安装发电机jhipster elasticsearch reindexer模块来使用它。但它并没有像预期的那样工作。在安装之后,我出现了以下错误

    java.lang.IllegalStateException:握手失败,群集名称不匹配[cluster[internal-test-cluster-name2843e241-29cc-4bc0-82db-600eb78ed261]-{127.0.0.1:9300}{pbkSwq2SQ CTopOjTqsVcg}{127.0.0.1:9300} 位于org.elasticsearch.transport.TransportService.handshake(TransportService.java:404) 位于org.elasticsearch.transport.TransportService.handshake(TransportService.java:367) 在org.elasticsearch.discovery.zen.UnicastZenPing$PingingRound.getOrConnect(UnicastZenPing.java:366) 在org.elasticsearch.discovery.zen.UnicastZenPing$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) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 运行(Thread.java:748)

    通过在application-dev.yml中添加sprig.data.jest.uri解决了上述错误,但搜索机制仍然不起作用。i、 例如,它无法查询现有数据库

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

    Jhipster已经在其网站上解释了如何使用elasticsearch:

    以下是你问题的简短答案: 1.如果在开发人员配置文件中运行应用程序,则不需要安装elasticsearch,因为它使用嵌入式elasticsearch实例。 2.创建Jhipster应用程序时,必须选择Elasticsearch open,以便生成器向代码中添加搜索功能


    生成器jhipster elasticsearch reindexer模块仅在您的应用程序中启用elasticsearch的情况下工作。

    谢谢您的回复。我也尝试过使用生成器jhipster elasticsearch reindexer模块,但问题是索引不起作用。因此,通过API提供的记录工作正常,但与现有数据不符。同样对于第二个回复,我在创建Jhipster应用程序时选择了“使用弹性搜索的搜索功能”。我尝试了最新版本的Jhipster(6.1.2),在dev profile中运行该应用程序时遇到了同样的问题。然后我启动了elasticsearch docker文件,从application-prod.yml(第52行->第58行)复制了elasticsearch配置,以替换application-dev.yml文件(第61-64行)中的配置,然后在dev profile中再次启动应用,错误得到了修复。目前我不知道为什么,但你可能想试试。