node.js - 带有 NodeJS 的嵌入式 Elastic

标签 node.js express elasticsearch

我使用嵌入式弹性作为 Java 中 Spring 应用程序的一部分,如下所示:

Node node;
@SuppressWarnings("unused")
@Bean
public Client es() {
    node = nodeBuilder().local(true).node();
    Client client = node.client();
    boolean indexExists = client.admin().indices().prepareExists(INDEX).execute().actionGet().isExists();
    if (!indexExists) {
        client.admin().indices().prepareCreate(INDEX).execute().actionGet();
    }
    return client;
}

我正在尝试使用 NodeJS 做类似的事情,这样我就不必单独创建 Elasticsearch 实例(超低流量)。在 Spring 的情况下,我只需设置 .local(true) 就可以了。我在 Node 中找不到类似的选项。

这就是我现在正在做的事情

var elasticsearch = require('elasticsearch');
var client = new elasticsearch.Client({
//    log: 'trace',
    host: 'localhost:9200'
});

对于外部服务器来说它工作得很好。

最佳答案

NodeJS 中无法使用 Elasticsearch Node 客户端。第二种方法是要走的路。

关于node.js - 带有 NodeJS 的嵌入式 Elastic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34421296/

相关文章:

node.js - 使用 Express 处理表单的最佳实践

elasticsearch - Elasticsearch返回不同的结果

Node.js 取消设置环境变量

node.js - npm live-server 不会自动重新加载

Node.JS - 使用异步函数处理传入请求

javascript - 尝试将 $set 与 stringify 一起使用,但它不起作用

javascript - 在 Spotify API 中授权期间获取 HTTP 415 不支持的媒体类型

node.js - Mongoose 的 Populate 方法出现 MissingSchemaError

nested - 在结果集中获取Elasticsearch嵌套对象的值(value)

elasticsearch - 当数据架构可能随时间变化时,以最佳方式插入弹性