该 API 在一个特定的索引上添加、更新一个类型化的 JSON 文档,让它能够被检索。下面的例子中插入一个 ID 为 1的 json 文档到 “twitter” 索引,_doc
类型之下:
curl -X PUT "localhost:9200/twitter/_doc/1?pretty" -H 'Content-Type: application/json' -d'
{
"user" : "kimchy",
"post_date" : "2009-11-15T14:12:12",
"message" : "trying out Elasticsearch"
}
'
索引操作结果如下:
{
"_shards" : {
"total" : 2,
"failed" : 0,
"successful" : 2
},
"_index" : "twitter",
"_type" : "_doc",
"_id" : "1",
"_version" : 1,
"_seq_no" : 0,
"_primary_term" : 1,
"result" : "created"
}
_shard
头中提供了索引操作副本的处理信息。
total
显示索引操作应该在多少个分片(主分片核副本分片)上执行。successful
显示索引操作在多少个分片上成功执行。failed
索引操作在复制分片上失败时,返回一个复制分片相关错误的数组。
当 successful
值至少是一时,索引操作成功。
注意:
当索引操作成功返回时,复制分片可能并没有全部启动(默认情况下,仅主分片是必须的,但是该行为是可更改的)。在这种情况下,
total
等于基于number_of_replicas
设置的总分片数,successful
等于启动的分片数(主分片加副本分片)。如果没有任何错误,failed
会是 0。
自动创建索引
如果索引不存在,该操作会自动创建一个索引,并应用任何配置好的索引模板。如果没有的话,索引操作也会为特定的类型创建动态的类型映射。默认情况下,如果需要是,指定类型映射定义会自动添加新字段和对象。查看映射章节,获取更多的映射定义的信息,可以使用put mapping API 手动更新类型映射。
自动索引创建有设置 action.auto_create_index
控制。
原文:
https://www.elastic.co/guide/en/elasticsearch/reference/6.3/docs-index_.html