欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Elasticsearch 删除数据

程序员文章站 2023-01-29 10:13:05
删除数据分为两种:一种是删除索引(数据和表结构同时删除,作用同SQLSERVER 中 DROP TABLE "表格名" ),另一种是删除数据(不删除表结构,作用同SQLSERVER中Delete 语句)。 一:删除索引: 删除单个索引可以使用命令 【DELETE /索引名称】 删除多个索引可以使用命 ......

删除数据分为两种:一种是删除索引(数据和表结构同时删除,作用同sqlserver 中 drop table "表格名" ),另一种是删除数据(不删除表结构,作用同sqlserver中delete 语句)。

一:删除索引:

删除单个索引可以使用命令 【delete /索引名称】

delete 索引名称

 

删除多个索引可以使用命令 【delete /索引1,索引2】

delete 索引名称1,索引名称2

【delete /testindex*】:删除以testindex 开头的所有索引文件(如果配置文件中禁止后此方式不能使用);

delete 索引名称*

 

删除全部索引命令 【delete /_all】(配置文件中禁止后此方式不能使用) 或者 【delete /*】(配置文件中禁止后此方式不能使用)

delete _all

 

注意事项:对数据安全来说,能够使用单个命令来删除所有的数据可能会带来很可怕的后果,所以,为了避免大量删除,可以在elasticsearch.yml 配置文件中修改 action.destructive_requires_name: true

  设置之后只限于使用特定名称来删除索引,使用_all 或者通配符来删除索引无效(上述中说明配置文件中禁止后此方式不能使用)】

 

二:删除数据:

1.:根据主键删除数据:【delete  /索引名称/类型名称/主键编号】

delete 索引名称/文档名称/主键编号

 

2:根据匹配条件删除数据:(注意请求方式是post) 

post 索引名称/文档名称/_delete_by_query   
{
  "query":{
    "term":{
      "_id":100000100
    }
  }
}

如果你想根据条件来删除你的数据,则在query查询体中组织你的条件就可以了。

参考官网链接:https://www.elastic.co/guide/en/elasticsearch/reference/5.2/docs-delete-by-query.html