首页 > 解决方案 > 如何通过 URL(http) 创建 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 的元素。

标签: apielasticsearch

解决方案


第一个选项应该有效,但您必须将请求类型显式设置为PUT.

在我看来,您curl用来插入数据。如果您使用-d选项将数据发送到服务器,则默认curl发出POST请求。但是你在 URL 中指定了文档的 id,所以 Elasticsearch 等待PUT请求(参见官方文档)。您只能在自动生成 IDPOST的情况下使用请求。

因此,您的请求可能如下所示:

curl -X PUT http://Myserver:9200/dilbert/user/3 -d '{ "name" : "Praveena" }'

推荐阅读