spring - 通过 Jhipster 中的 UI 使用 Elasticsearch 对现有数据库 MySQL 执行搜索操作

标签 spring elasticsearch jhipster

我出于 PoC 目的启动了 Jhipster,我需要通过 UI 搜索 MySQL 数据库中现有的数据。我有以下疑问:

  • 我们是否需要安装/拥有 Elasticsearch 才能首先运行它并检查结果?
  • 还是在创建 Jhipster 应用程序并对其进行配置时选择 Elasticsearch 足以进一步使用它?

  • 我已经尝试通过安装它来使用 generator-jhipster-elasticsearch-reindexer 模块。但它没有按预期工作。安装后我遇到了以下错误。

    java.lang.IllegalStateException:握手失败,集群名称不匹配 [集群 [internal-test-cluster-name2843e241-29cc-4bc0-82db-600eb78ed261]] - {127.0.0.1:9300}{pbkSwq2SQ-CTopOjTqsVcg}{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)
    在 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)
    在 java.lang.Thread.run(Thread.java:748)

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

    实际结果:当我从 UI 创建实体时,能够从 UI 执行搜索。原因是当通过 API 创建实体时,它会更新 Elasticsearch 数据库并生成结果。
    预期结果:当我连接到 MySQL 数据库时,能够对现有数据执行相同的搜索。

    最佳答案

    Jhipster 已经在他们的网站上解释了如何使用 elasticsearch:
    https://www.jhipster.tech/using-elasticsearch/

    以下是您问题的简短答案:
    1. 如果您在 dev profile 中运行您的应用程序,则无需安装 elasticsearch,因为它使用嵌入式 Elasticsearch 实例。
    2. 您必须在创建 Jhipster 应用程序时选择打开 Elasticsearch,以便生成器将搜索功能添加到您的代码中。

    generator-jhipster-elasticsearch-reindexer 模块仅在您在应用程序中启用 Elasticsearch 时才有效。

    关于spring - 通过 Jhipster 中的 UI 使用 Elasticsearch 对现有数据库 MySQL 执行搜索操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56770900/

    相关文章:

    spring - 通过CAS Spring Security获得重定向循环

    elasticsearch - 如何忽略 Elasticsearch 中未映射的字段?

    java - Intellij Error Duplicate Mapper Class with Auto Compile

    apache-spark - 将数据从ElasticSearch读取到Spark数据集中

    ionic-framework - CSRF token 未正确更新(Ionic + Spring Security)

    oauth-2.0 - Jhipster OAuth 2.0/OIDC 身份验证授权 header 与不记名 token

    javascript - 如何在 javascript 文件中使用 JSTL 和其他 Spring 标签?

    java - 使用 Spring Hibernate SessionFactory 选择不同的

    java - Crudrepository 如何找到最后一个日期之间?

    elasticsearch - Elasticsearch查询不会返回ID(但会返回所有其他数据)