我正在尝试使用插入文档api的自动增量ID功能向我的elasticsearch索引创建原始NodeJS http请求.
所以这适用于curl:
curl -XPOST http://host:3333/catalog/products -d '{ "hello": "world" }'
但是当我在nodejs中尝试相同的时候:
var http = require('http');
var options = {
protocol: 'http:',
mehtod: 'PUT',
hostname: 'host',
port: 3333,
path: '/catalog/products/'
}
http.request(options, ...);
Run Code Online (Sandbox Code Playgroud)
它返回此错误:
No handler found for uri [/catalog/products/] and method [PUT]
但是,如果我id在该路径的末尾添加一个它将起作用.这有什么不对?
Chi*_*h25 40
这里的问题是当你使用时,方式POST和PUT工作是可选的,ES 每次都会为你生成一个独特的.POST_id_id
在这里,您使用的是PUT这样_id的要求,ES将可以创建与ID一个新的文档,或者如果它存在,它将具有该ID更新文档.您可以阅读更多相关信息.
如果您不想指定id,请尝试使用POST请求进行索引curl
var options = {
protocol: 'http:',
hostname: 'host',
port: 3333,
path: '/catalog/products/',
method: 'POST' <--- specify method
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
42014 次 |
| 最近记录: |