我有一个在本地运行的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
谁能帮忙?干杯!
试试
GET http://localhost:9200/_sql
{
"body": {
"query": "DESCRIBE indexname"
}
}
此问题通常是由弹性/弹性搜索模块的不兼容引起的。您的 ES 版本是什么?尝试将 NodeJS 版本升级到 ES 版本。
在此处检查兼容性。
https://www.npmjs.com/package/@elastic/elasticsearch