【弄nèng - Elasticsearch】DSL入门篇(二)—— 文档操作,增删改

文章目录

    • 1. 添加数据
    • 2. 局部更新数据
      • 2.1 更新普通类型数据
      • 2.1 更新对象类型数据
    • 3. 条件更新
    • 4. 删除文档
      • 4.1 删除单个文档
      • 4.2 条件删除文档
    • 项目推荐

声明:

1. 添加数据

POST http://localhost:9200/schools/classes/1
 {
    "classes_id": 1,
	"name": "班级1",
	"address": "深圳市福田区福华路",
    "price": 2.1,
	"timestamp": 1572490800000
 }

效果

GET schools/classes/1

【弄nèng - Elasticsearch】DSL入门篇(二)—— 文档操作,增删改_第1张图片

2. 局部更新数据

2.1 更新普通类型数据

POST schools/classes/1/_update
{
  "doc": { 
      "name" : "班级11" 
    } 
}

效果
【弄nèng - Elasticsearch】DSL入门篇(二)—— 文档操作,增删改_第2张图片

2.1 更新对象类型数据

有两种方式。
假设对象字段info

 "info": {
	"name": "司马缸",
	"title": "标题"
}

修改,添加(1)

POST schools/classes/1/_update
{
  "script": """  
    ctx._source.info= ["version": "1.0"]
    """
}

效果
【弄nèng - Elasticsearch】DSL入门篇(二)—— 文档操作,增删改_第3张图片
修改,添加(2)
第二种方式

POST schools/classes/1/_update
{
  "script": {
    "inline": "ctx._source.info['version'] = '1.1';",
    "lang": "painless"
  }
}

效果
【弄nèng - Elasticsearch】DSL入门篇(二)—— 文档操作,增删改_第4张图片

3. 条件更新

POST schools/classes/_update_by_query
{
  "script": {
    "lang": "painless",
    "inline": "ctx._source.price = 1.3"
  }
}

效果
【弄nèng - Elasticsearch】DSL入门篇(二)—— 文档操作,增删改_第5张图片

4. 删除文档

4.1 删除单个文档

DELETE /schools/classes/2

4.2 条件删除文档

POST schools/classes/_delete_by_query
{
  "query": { 
    "match": {
      "name": "班级2"
    }
  }
}

项目推荐

IT-CLOUD :IT服务管理平台,集成基础服务,中间件服务,监控告警服务等。
IT-CLOUD-ACTIVITI6 :Activiti教程源码。博文在本CSDN Activiti系列中。

开源项目,持续更新中,喜欢请 Star~

你可能感兴趣的:(elasticsearch)