在http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/docs-index_.html,它说
Automatic ID Generation
The index operation can be executed without specifying the id.
In such a case, an id will be generated automatically.
In addition, the op_type will automatically be set to create.
Here is an example (note the POST used instead of PUT):
$ curl -XPOST 'http://localhost:9200/twitter/tweet/' -d '{
"user" : "kimchy",
"post_date" : "2009-11-15T14:12:12",
"message" : "trying out Elasticsearch"
}'
所以基于我的阅读,如果我运行该查询两次,它应该只索引一个文档,第二个应该返回409.但是当我实际运行它(在elasticsearch 1.3.2上)时,它会创建一个文档时间!发生了什么,如果文档尚不存在,如何在不指定文档ID的情况下将其编入索引?
答案 0 :(得分:0)
如果不指定id,则不能生成新的guid。 create op_type意味着它知道它不需要进行更新,因为它有一个新的唯一id。
你可以校验你的数据并将其设置为id,但如果数据每次都发生变化,这是一个坏主意。