我刚刚开始使用ElasticSearch。我试图知道如何插入文档。我只找到了使用PUT方法的示例:$ curl -XPUT 'http://localhost:9200/...'
但它似乎也使用POST工作。这两种方法有什么区别吗?
谢谢。
答案 0 :(得分:10)
通常在使用REST API时:
- POST用于创建资源,服务器将在其中选择ID
- PUT用于更新OR PLACE已知ID的资源。
Doc creation examples in the ES documentation show the caller picking an ID.
像这样:
curl -XPUT 'http://localhost:9200/twitter/tweet/1' -d '{
"user" : "kimchy",
"post_date" : "2009-11-15T14:12:12",
"message" : "trying out Elasticsearch"
}'
由于来电者正在挑选ID,因此PUT似乎合适。
BUT
使用POST Elasticsearch也可以为您生成ID。
$ curl -XPOST 'http://localhost:9200/twitter/tweet/' -d '{
"user" : "kimchy",
"post_date" : "2009-11-15T14:12:12",
"message" : "trying out Elasticsearch"
}'
答案 1 :(得分:0)
不知何故,他们具有相同的功能与小的不同
PUT动词(“将此文档存储在此URL”)
POST动词(“将此文档存储在此URL下”)
在中,您必须指明确切的网址,但在帖子中您只需输入
即可设置文档例如:
PUT / website / blog / 123表示将此文档放在此URL,但POST / website / blog会将文档插入博客并自动增加最后一个文档的ID。