我是Elasticsearch的新手,正在尝试寻找一种从url(http-API)创建文档的方法。我在下面给出的选项中进行了尝试,但没有一个起作用。
http://Myserver:9200/dilbert/user/3 -d '{ "name" : "Praveena" }
http://Myserver:9200/dilbert/user/3{ "name" : "Praveena" }
http://Myserver:9200/dilbert/user/3?pretty _create name=Praveena
我希望这会添加一条记录。这里的dilbert是索引名称。用户是类型&3是ID。该索引仅包含一个名为name的元素。
答案 0 :(得分:0)
第一个选项应该起作用,但是您必须将请求类型显式设置为PUT
。
在我看来,您使用curl
来插入数据。如果使用-d
选项将数据发送到服务器,则默认情况下curl
发出POST
请求。但是您在URL中指定了文档ID,因此Elasticsearch等待PUT
请求(请参阅official documentation)。您只能在automatic ID generation的情况下使用POST
请求。
因此您的请求可能如下所示:
curl -X PUT http://Myserver:9200/dilbert/user/3 -d '{ "name" : "Praveena" }'