【问题标题】:Should I use Java or Logstash to index db content in Elastic Search?我应该使用 Java 还是 Logstash 来索引 Elastic Search 中的数据库内容?
【发布时间】:2021-04-09 13:07:38
【问题描述】:

我正在构建一个简单的 Web 应用程序,它将列出/搜索待售的零售商品。

设计是这样的......

MySQL 数据库 -> Elastic Search 部署 -> Spring Boot REST 服务 -> Web UI(JSP/Bootstrap 或 Angular)

我打算编写 Java 客户端代码来读取数据库并将记录发布到 Elastic Search 以进行索引。

谷歌搜索,看起来 Logstash 用于这类事情。我对Logstash不熟悉,对Java很熟悉。

问题:Java 客户端是否被视为将数据提交到 Elastic Search 以进行索引的“已弃用”或“传统”方式?

我对 Java 很熟悉,我应该使用 Java 还是 Logstash?

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    除了@chris 的回答之外,logstash 将增加复杂性和另一个需要在您的堆栈中维护的基础架构,而且 logstash 以卡住而闻名,并且不像 Elasticsearch 那样具有弹性。

    您已经将 Java 用于您的应用程序代码,顺便说一句,elasticsearch 现在正式拥有一个名为 java high-level rest client(JHLRC) 的 Java 客户端,它非常流行,并提供了用于索引/搜索和构建现代搜索系统的 API 的详尽列表。 恕我直言,您应该使用 JHLRC,

    1. 这将使您免于 logstash 的痛点

    2. 您不必学习其他工具

    3. 简单的基础设施

    4. 简单部署

    5. 最后但并非最不重要的是简单且易于维护的代码库。

    【讨论】:

      【解决方案2】:

      Logstash 是一个很好的工具,可用于将数据从多个来源迁移到弹性搜索。它仅使用 java 语言构建。

      您可以使用 Logstash。它还具有改变数据或过滤数据的选项。它是一个随时可用的工具,可以节省您大量的开发时间和精力。

      但是,如果您需要大量自定义并且需要在将数据推送到弹性搜索之前对数据进行大量控制,那么您可以为此构建自己的应用程序。

      回到您的问题..java 不推荐用于将数据索引到弹性搜索。它仍然是首选。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-14
        • 2021-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多