ES数据的删除与备份

背景

需要删除索引下满足指定条件的文档数据,并将删除的数据进行备份。

操作步骤

新建索引

该索引结构与映射关系与原索引一致

查看原索引设置

java 复制代码
GET /tb/_settings


结果:
{
  "tb" : {
    "settings" : {
      "index" : {
        "routing" : {
          "allocation" : {
            "include" : {
              "_tier_preference" : "data_content"
            }
          }
        },
        "number_of_shards" : "1",
        "provided_name" : "tb",
        "creation_date" : "1719220554972",
        "analysis" : {
          "normalizer" : {
            "CustomNormalizer" : {
              "filter" : [
                "lowercase",
                "asciifolding"
              ],
              "type" : "custom"
            }
          },
          "analyzer" : {
            "optimizeIK" : {
              "type" : "custom",
              "tokenizer" : "ik_max_word"
            }
          }
        },
        "number_of_replicas" : "1",
        "uuid" : "ovmNbNg7T6W98WcpqYfQwQ",
        "version" : {
          "created" : "7170799"
        }
      }
    }
  }
}

查看映射关系

java 复制代码
GET /tb/_mapping


结果:
{
  "tb" : {
    "mappings" : {
      "dynamic" : "true",
      "properties" : {
        "createTime" : {
          "type" : "long",
          "coerce" : false
        },
        "creator" : {
          "type" : "keyword"
        },
        "dbId" : {
          "type" : "keyword"
        },
        "fileName" : {
          "type" : "keyword"
        },
        "id" : {
          "type" : "keyword"
        },
        "isApproved" : {
          "type" : "keyword"
        },
        "modifiedTime" : {
          "type" : "long",
          "coerce" : false
        },
        "modifier" : {
          "type" : "keyword"
        },
        "note" : {
          "type" : "keyword"
        },
        "original" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword"
            },
            "normalizer" : {
              "type" : "keyword",
              "normalizer" : "CustomNormalizer"
            },
            "pattern" : {
              "type" : "text",
              "norms" : false,
              "analyzer" : "pattern"
            },
            "standard" : {
              "type" : "text",
              "norms" : false,
              "analyzer" : "standard"
            }
          },
          "norms" : false,
          "analyzer" : "optimizeIK"
        },
        "originalLang" : {
          "type" : "keyword"
        },
        "remark" : {
          "type" : "keyword"
        },
        "reviewer" : {
          "type" : "keyword"
        },
        "translation" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword"
            },
            "normalizer" : {
              "type" : "keyword",
              "normalizer" : "CustomNormalizer"
            },
            "pattern" : {
              "type" : "text",
              "norms" : false,
              "analyzer" : "pattern"
            },
            "standard" : {
              "type" : "text",
              "norms" : false,
              "analyzer" : "standard"
            }
          },
          "norms" : false,
          "analyzer" : "optimizeIK"
        },
        "translationLang" : {
          "type" : "keyword"
        }
      }
    }
  }
}

新建索引

java 复制代码
PUT /tb81901
{
  "settings" : {
      "index" : {
        "analysis" : {
          "normalizer" : {
            "CustomNormalizer" : {
              "filter" : [
                "lowercase",
                "asciifolding"
              ],
              "type" : "custom"
            }
          },
          "analyzer" : {
            "optimizeIK" : {
              "type" : "custom",
              "tokenizer" : "ik_max_word"
            }
          }
        },
        "number_of_shards" : "1",
        "number_of_replicas" : "1"
      }
    },
  "mappings": {
      "dynamic" : "true",
      "properties" : {
        "createTime" : {
          "type" : "long",
          "coerce" : false
        },
        "creator" : {
          "type" : "keyword"
        },
        "dbId" : {
          "type" : "keyword"
        },
        "fileName" : {
          "type" : "keyword"
        },
        "id" : {
          "type" : "keyword"
        },
        "isApproved" : {
          "type" : "keyword"
        },
        "modifiedTime" : {
          "type" : "long",
          "coerce" : false
        },
        "modifier" : {
          "type" : "keyword"
        },
        "note" : {
          "type" : "keyword"
        },
        "original" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword"
            },
            "normalizer" : {
              "type" : "keyword",
              "normalizer" : "CustomNormalizer"
            },
            "pattern" : {
              "type" : "text",
              "norms" : false,
              "analyzer" : "pattern"
            },
            "standard" : {
              "type" : "text",
              "norms" : false,
              "analyzer" : "standard"
            }
          },
          "norms" : false,
          "analyzer" : "optimizeIK"
        },
        "originalLang" : {
          "type" : "keyword"
        },
        "remark" : {
          "type" : "keyword"
        },
        "reviewer" : {
          "type" : "keyword"
        },
        "translation" : {
          "type" : "text",
          "fields" : {
            "keyword" : {
              "type" : "keyword"
            },
            "normalizer" : {
              "type" : "keyword",
              "normalizer" : "CustomNormalizer"
            },
            "pattern" : {
              "type" : "text",
              "norms" : false,
              "analyzer" : "pattern"
            },
            "standard" : {
              "type" : "text",
              "norms" : false,
              "analyzer" : "standard"
            }
          },
          "norms" : false,
          "analyzer" : "optimizeIK"
        },
        "translationLang" : {
          "type" : "keyword"
        }
      }
    }
}

迁移数据

迁移原索引中满足删除条件的文档数据

java 复制代码
POST /_reindex
{
  "source": {
    "index": "tb",
    "query": {
      "bool": {
        "must": [
          {
            "term": {
              "dbId": {
                "value": "270057"
              }
            }
          }
        ]
      }
    }
  },
  "dest": {
    "index": "tb81901"
  }
}

删除数据

删除原索引中满足删除条件的文档数据

java 复制代码
POST /tb/_delete_by_query
{
  "query": {
    "bool": {
      "must": [
        {
          "terms": {
            "dbId": [
              "270057"
            ]
          }
        }
      ]
    }
  }
}
相关推荐
Raas10038 分钟前
MAI Gateway(魔芋企业级AI网关)技术揭秘:AI网关支持哪些模型?从原理到落地
大数据·人工智能·网关·gateway·mai gateway·企业级产品
YangYang9YangYan3 小时前
2026 校招商品分析岗位 JD 拆解,核心指标、工具与面试考点
大数据·数据库·数据分析
大大大大晴天4 小时前
OpenMetadata VS DataHub VS Atlas VS Gravitino
大数据
Qyr997 小时前
2026全球汽车碳刷行业发展全景分析报告
大数据
蓝速科技7 小时前
便民服务大厅 AI 数字人一体机场景适配与落地指南丨蓝速科技
大数据·网络·数据结构·人工智能·自然语言处理·数据分析·运维开发
精益数智工坊8 小时前
云计算环境数据怎么同步?云计算集成方案有哪些?
大数据·人工智能·数据挖掘·数据可视化
huashengzsj9 小时前
什么是DMS经销商管理系统?国内经销商管理系统有哪些品牌
大数据
IT毕设梦工厂10 小时前
计算机毕业设计选题推荐:基于大数据的草鱼价格分析与可视化|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hadoop·python·数据挖掘·数据分析·课程设计·大数据毕设项目
辛迪聊物业数字化10 小时前
智慧社区物业管理软件新手部署与实操指南
大数据·php
字节跳动数据平台10 小时前
模型再强,为什么 Demo 还是进不了生产?
大数据