1横朋、索引文檔
Document - Index API
API:PUT /index/_doc/1
{
"name" : "張三",
"date" : "2009-11-15T14:12:12",
"message" : "一串文本信息"
}
如果索引尚不存在款青,則索引操作會(huì)自動(dòng)創(chuàng)建索引锹淌,同時(shí)索引操作還會(huì)創(chuàng)建動(dòng)態(tài)映射
該API 可以用來(lái)創(chuàng)建文檔 和 覆蓋文檔
PS:_doc 稱(chēng)為 API 的端點(diǎn)劝枣,并不是一般認(rèn)為的 type 被干掉后的替代品症脂,端點(diǎn)還有 _source等...
強(qiáng)制創(chuàng)建操作
API:PUT /index/_doc/1?op_type=create
創(chuàng)建文檔
API:PUT /index/_create/1
如果該ID在文檔中的索引已經(jīng)存在索引操作將失敗。
自動(dòng)生成Id
API:POST /index/_doc
可以在不指定id的情況下執(zhí)行索引操作媚狰。在這種情況下岛杀,將自動(dòng)生成id。此外崭孤,op_type 將自動(dòng)設(shè)置為create(注意 POST使用而不是PUT)类嗤。
PS:ES為每條文檔數(shù)據(jù)都配備了Id,所以不需要在文檔的數(shù)據(jù)結(jié)構(gòu)中再次指定Id數(shù)據(jù)列辨宠。文檔的Id可以指定 也可以自動(dòng)生成遗锣,咱們統(tǒng)一采用指定的方式。
2嗤形、獲取文檔
API:GET /index/_doc/1
過(guò)濾返回?cái)?shù)據(jù)
API:GET twitter/_doc/0?_source_includes=*Id&_source_excludes=phone
- _source_includes精偿、_source_excludes 包含、排除赋兵,配置使用
如果您只想指定包含笔咽,則可以使用較短的表示法:
API:GET twitter/_doc/0?_source=*Id,name
直接獲取數(shù)據(jù)
GET /index/_source/1
GET /index/_source/1/?_source_includes=*Id&_source_excludes=phone
3、檢查文檔是否存在
API:HEAD /index/_doc/0 推薦
API:HEAD /index/_source/0
4霹期、刪除文檔
API:DELETE /index/_doc/1
有意思的是叶组,當(dāng) 索引 不存在的話(huà) ,刪除操作將自動(dòng)創(chuàng)建索引历造。
PS:有按條件批量刪除API 這里不講甩十。
5、更新文檔
API:/POST /index/_update/1
更新部分字段屬性
{
"doc" : {
"name" : "new_name"
}
}
更新腳本
{
"script" : {
"source": "ctx._source.age += params.num",
"lang": "painless",
"params" : {
"num" : 4
}
}
}
doc 和 script 不能同時(shí)使用