Index API 索引文档

Index API | Elasticsearch Reference [7.6] | Elastic

语法

# 手动指定文档 id
PUT /<index>/_doc/<_id>
# 自动创建文档 id
POST /<index>/_doc/

# 仅当索引不存在时候才进行创建
PUT /<index>/_create/<_id>
POST /<index>/_create/<_id>
# 等用于
PUT /<index>/_doc/<_id>?op_type=create
PUT /<index>/_doc/<_id>?op_type=create

示例

# 索引 document,并自动创建 id
POST twitter/_doc/
{
    "user" : "kimchy",
    "post_date" : "2009-11-15T14:12:12",
    "message" : "trying out Elasticsearch"
}

# 索引 document,指定 id,且仅当该 id 不存在时创建
PUT twitter/_create/1
{
    "user" : "kimchy",
    "post_date" : "2009-11-15T14:12:12",
    "message" : "trying out Elasticsearch"
}

默认情况下,创建文档时如果索引不存在,会自动创建该索引模板,如果需要手动进行索引模板的字段映射,可以查看 mappingput mapping API。

默认情况下进行 index 操作,同个 id 新版本的 document 总会被创建,如果不接受这种情况,可以使用 _update API 代替,并设置 detect_noop = true(该选项设置后对于旧的数据不会生效)。

refresh 刷新操作可见性

?refresh | Elasticsearch Reference [7.6] | Elastic

?refresh 参数用于控制该次操作(indexupdatedeletebulk)的更改是否对搜索可见,拥有以下值:

routing 散列路由