gpt4 book ai didi

javascript - 从 Node 请求 Elasticsearch 超时

转载 作者:IT老高 更新时间:2023-10-28 23:01:25 28 4
gpt4 key购买 nike

我正在使用官方的 Javascript 客户端设置一个简单的 Node.js REST 服务来与 Elasticsearch 交互。我在本地运行此代码,但集群位于远程。当我通过浏览器时,使用 _head 插件,我可以毫无问题地连接 ES 和查询。但是,通过 Javascript 客户端执行此操作会使所有请求超时。我设置了 ElasticSearch 对象,但是向它发送任何请求根本不起作用。我不认为这是网络问题,因为我可以通过浏览器访问 ES。这就是我请求某些东西的方式,一个非常基本的获取:

var elasticsearch = require("elasticsearch");
var es = new elasticsearch.Client({
host: "https://my-address:9200/", // also tried without protocol part and trailing slashes
log: "error",
sniffOnStart: true
});

es.get({
index: "things",
type: "someThing",
id: "42"
}).then(doSomeStuff, handleStuffFailed);

这会失败并显示一条简单的错误消息Error: Request timeout after 30000ms.

我在这里遗漏了什么吗?我已经阅读了客户端文档,这似乎是客户端的基本“hello world”。

最佳答案

在实例化 ES 客户端时尝试扩展 requestTimeout 参数。

client = new elasticsearch.Client({
host : 'http://localhost:9200',
requestTimeout: 60000
});

我有一个耗时不到 10 分钟的过程。通过将 requestTimeout 值设置为 60000(10 分钟),该过程可以在不超时的情况下完成。

关于javascript - 从 Node 请求 Elasticsearch 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22406300/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com