Elasticsearch清理生产无用数据参考

示例

索引: test_index
备份索引:test_index_bak190810
清理条件:creationDate 时间范围限制
字段限制:userId

操作步骤

1. 先备份清理数据

  curl -XPOST "http://127.0.0.1:9200/_reindex?pretty" -H "Content-Type: application/json" -d'{"source": {"index": "test_index","query": {"bool": {"must": [{"range": {"creationDate": {"gt": "2019-07-20","lt": "2019-08-10"}}}],"must_not": [{"exists": {"field": "userId"}}],"should": []}}},"dest": {"index": "test_index_bak190810","version_type": "internal"}}'

2. 清理数据

  curl -X POST "http://127.0.0.1:9200/test_index/_delete_by_query?pretty" -H 'Content-Type: application/json' -d'{ "query": {"bool": {"must": [{"range": {"creationDate": {"gt": "2019-07-20","lt": "2019-08-10"}}}],"must_not": [{"exists": {"field": "userId"}}],"should": []}}}'

3. 如有问题,还原清理的数据

  curl -X POST "http://127.0.0.1:9200/_reindex?pretty" -H 'Content-Type: application/json' -d'{"source": {"index": "test_index_bak190810"},"dest": {"index": "test_index"}}'

4. 没问题后,清理备份数据

  curl -XDELETE http://127.0.0.1:9200/test_index_bak190810

 

知识点

_reindex?pretty

  https://www.elastic.co/guide/en/elasticsearch/reference/7.6/docs-reindex.html

_delete_by_query

  https://www.elastic.co/guide/en/elasticsearch/reference/7.6/docs-delete-by-query.html

 

posted @ 2020-04-23 00:39  BensonWei  阅读(473)  评论(0编辑  收藏  举报