Elasticsearch6.2.2说明文档--数据操作(Document操作)
2018-03-13 15:33
405 查看
环境: Elasticsearch: 6.2.2 Kibana: 6.2.2 os: centos 7 原文参考地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/_modifying_your_data.html 原文参考地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/_updating_documents.html 原文参考地址:https://www.elastic.co/guide/en/elasticsearch/reference/6.2/docs-update-by-query.html1、数据修改 上文中演示了如何创建index然后插入doc,再数据已经插入之后如何修改数据呢,参考下面 命令: PUT /customer/_doc/1?pretty
{
"name": "wandy"
}
然后GET customer/_doc/1 查看结果:
结果已经成功修改,注意
1、ES提供的对数据的控制和查询是一个接近实时的,也就意味着,当你修改了数据(新增、修改、删除)以后,你可以认为它有大概1秒钟的延时才能出现在反映到你的搜索结果中,这是和传统SQL的区别。
2、对数据的修改必须带有ID,否则ES会认为是新增数据,然后自动生成对应的ID,另外也可以使用如下方式让ES自动生成新增数据的ID
POST /customer/_doc?pretty
{
"name": "Jane Doe"
}
2、其他修改方式
a、POST /customer/_doc/1/_update?pretty
{
"doc": { "name": "Jane Doe" }
}
b、修改的同时再新增一个字段
POST /customer/_doc/1/_update?pretty
{
"doc": { "name": "Jane Doe", "age": 20 }
}
c、脚本的方式
POST /customer/_doc/1/_update?pretty
{
"script" : "ctx._source.age += 5"
}
3、 ES同时也提供了按照条件更新,就像SQL中的update--where ,使用的是_update_by_query
4、删除document
命令:DELETE /customer/_doc/2?pretty
5、批量操作(使用_bulk API)
a、批量插入
POST /customer/_doc/_bulk?pretty
{"index":{"_id":"1"}}
{"name": "John Doe" }
{"index":{"_id":"2"}}
{ "name": "Jane Doe" }
ac63
或者包含不指定的ID的
POST /customer/_doc/_bulk?pretty
{"update":{"_id":"1"}}
{"doc": { "name": "John Doe becomes Jane Doe" } }
{"delete":{"_id":"2"}}
{
"name": "wandy"
}
然后GET customer/_doc/1 查看结果:
结果已经成功修改,注意
1、ES提供的对数据的控制和查询是一个接近实时的,也就意味着,当你修改了数据(新增、修改、删除)以后,你可以认为它有大概1秒钟的延时才能出现在反映到你的搜索结果中,这是和传统SQL的区别。
2、对数据的修改必须带有ID,否则ES会认为是新增数据,然后自动生成对应的ID,另外也可以使用如下方式让ES自动生成新增数据的ID
POST /customer/_doc?pretty
{
"name": "Jane Doe"
}
2、其他修改方式
a、POST /customer/_doc/1/_update?pretty
{
"doc": { "name": "Jane Doe" }
}
b、修改的同时再新增一个字段
POST /customer/_doc/1/_update?pretty
{
"doc": { "name": "Jane Doe", "age": 20 }
}
c、脚本的方式
POST /customer/_doc/1/_update?pretty
{
"script" : "ctx._source.age += 5"
}
3、 ES同时也提供了按照条件更新,就像SQL中的update--where ,使用的是_update_by_query
4、删除document
命令:DELETE /customer/_doc/2?pretty
5、批量操作(使用_bulk API)
a、批量插入
POST /customer/_doc/_bulk?pretty
{"index":{"_id":"1"}}
{"name": "John Doe" }
{"index":{"_id":"2"}}
{ "name": "Jane Doe" }
ac63
或者包含不指定的ID的
POST /customer/_doc/_bulk?pretty
{"update":{"_id":"1"}}
{"doc": { "name": "John Doe becomes Jane Doe" } }
{"delete":{"_id":"2"}}
相关文章推荐
- Elasticsearch6.2.2说明文档--index操作
- Elasticsearch6.2.2说明文档--基本概念
- elasticsearch-java api之文档(document)各种操作
- Elasticsearch6.2.2说明文档--Mapping
- Elasticsearch6.2.2说明文档--集群健康监测
- 文档操作库DevExpress Document Server试用心得
- XmlDocument中针对某Node的特定Attribute的清除操作说明
- ElasticSearch-深入理解系列4-文档(Document)
- C 语言字符串操作函数API文档说明
- XMLDLL操作说明文档(二)
- ElasticSearch操作实例大全---文档结构操作(2)
- XMLDLL操作说明文档(三)
- Rediis 指令操作说明文档地址
- XMLDLL操作说明文档(四)
- C#操作XML文档(XmlDocument、XmlNode、XmlAttribute、SelectSingleNode、SelectNodes、XmlNodeList)
- xmlDocument来操作xml文档
- mongodb的基本操作与插入文档(document)
- C#操作XML文档(XmlDocument、XmlNode、XmlAttribute、SelectSingleNode、SelectNodes、XmlNodeList)
- jenkins 命令行操作说明文档
- Elasticsearch 文档更新操作