3

我有一个在本地运行的 ElasticSearch 实例,它运行良好。现在我想使用 SQL 查询索引。我使用 NodeJS-Client (v7) 尝试了它,通常是通过 REST-Api。休息电话:

POST http://localhost:9200/_sql
{
   "body": {
       "query": "DESCRIBE indexname"
   }
}

并通过nodeJS:

elasticClient.sql.query({
    format: "json",
    body: {
        query: "DESCRIBE indexname"
    }
}).then(result => {
    console.log(result);
}).catch(reject => {
    console.log(reject);
});

两者都返回相同的错误:

uri [/_sql] 和方法 [POST] 的 HTTP 方法不正确,允许:[GET, HEAD, PUT, DELETE] 状态:405

任何人都可以帮忙吗?干杯!

4

2 回答 2

0

尝试

GET http://localhost:9200/_sql
{
   "body": {
       "query": "DESCRIBE indexname"
   }
}
于 2019-11-12T10:59:03.373 回答
0

此问题通常是由您的 elastic/elasticsearch 模块不兼容引起的。你的ES版本是多少?尝试将您的 NodeJS 版本升级到您的 ES 版本。

在此处检查兼容性。

https://www.npmjs.com/package/@elastic/elasticsearch

于 2019-11-14T23:44:16.890 回答