我为POC目的启动JHIPSTER,我需要通过UI对MySQL数据库中现有的数据进行搜索。我有以下疑问:
- 我们是否需要安装/进行弹性搜索才能首先运行并检查结果?
- 或在创建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时才有效。