Elasticsearch 数据删除
Elasticsearch中的数据删除主要分为两种方式:删除索引和删除数据。
1. 删除索引:
- 删除单个索引可以使用命令:DELETE /索引名称。例如:Delete testindex。
- 删除多个索引可以使用命令:DELETE /索引1,索引2。例如:Delete testindex1, testindex2。
- 删除全部索引可以使用命令:DELETE /_all 或者 DELETE /*。但是如果配置文件中禁止后此方式不能使用。
2. 删除数据:
- 根据主键删除数据:DELETE /索引名称/类型名称/主键编号。例如:Delete testindex/doc/1。
- 根据匹配条件删除数据:POST 索引名称/文档名称/_delete_by_query。例如:POST testindex/doc/_delete_by_query?pretty { \"query\": { \"match_all\": { } } }。
- 删除所有数据:POST /testindex/testtype/_delete_by_query。例如:POST testindex/doc/_delete_by_query?pretty { \"query\": { \"match_all\": { } } }。
需要注意的是,_delete_by_query方式进行删除大量的数据可能会导致响应超时,集群负载过高或不稳定等各种问题,所以不建议使用这种方式。