【问题标题】:Can I use a Elastic Search RESTful API without relying on npm of Elastic Search我可以在不依赖 Elastic Search 的 npm 的情况下使用 Elastic Search RESTful API
【发布时间】:2017-03-07 13:24:09
【问题描述】:

我们想在我们的项目中使用 Elastic Search。我们使用的技术是 Sails.js 和 Angular.js。我正在尝试将 Elastic Search 集成到我们的项目中。我不确定是否可以在不使用 npm 的情况下使用 Elastic Search RESTful API。

【问题讨论】:

    标签: node.js rest express elasticsearch sails.js


    【解决方案1】:

    我可以在不依赖 Elastic Search 的 npm 的情况下使用 Elastic Search RESTful API

    (我假设“弹性搜索的 npm”是指 npm 上的弹性搜索模块)

    是的。

    您可以使用任何 REST API,而无需使用 npm 为该特定 API 编写的特定模块。

    唯一的问题是:为什么?

    但要回答您的问题,您可以使用任何可以处理 HTTP 连接的模块,或者您甚至可以使用原始 TCP 套接字。

    因此,如果您的 API 是 RESTful,您可以使用其中的任何模块:

    • http
    • net
    • request
    • request-promise
    • npm 中用于该服务的特定模块

    前两个是核心 Node 模块,其他的在 npm 上。

    在 npm 上搜索 HTTP 和 REST:

    并阅读以下文档:

    使用特定模块仍然很有用,因为它可以为您处理很多复杂的事情。例如,看看有多少模块可以在 Node 中使用 Twitter API:

    您可以使用request、http 甚至net 来代替这些模块,但您的代码可能要复杂得多。任何其他 RESTful 服务也是如此。您可以重新发明轮子,也可以使用经过充分测试的解决方案。

    【讨论】:

      【解决方案2】:

      是的,可以在没有其(或任何其他)节点模块的情况下使用 Elasticsearch,使用任何方式与 HTTP(或 TCP,如 @rsp 所说)进行通信。

      但是,使用编写良好的包可以省去很多麻烦,并且可以更有效地完成工作。

      【讨论】:

        【解决方案3】:

        您可以使用 REST/Request 客户端来执行此操作,并且只需使用 Query DSL。

        话虽如此,使用 elasticsearch-js 并将查询构造成服务、帮助程序或适配器会更有意义。

        我个人使用后一个选项,它对我来说效果很好。发现现有的 ES 的 Sails 适配器很麻烦。

        【讨论】:

          猜你喜欢
          • 2018-01-14
          • 1970-01-01
          • 2022-09-29
          • 1970-01-01
          • 2023-03-26
          • 2021-07-28
          • 1970-01-01
          • 2021-07-31
          • 1970-01-01
          相关资源
          最近更新 更多