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"
            ]
          }
        }
      ]
    }
  }
}
相关推荐
2601_949499944 小时前
400G组网低功耗优选!芯瑞科技400G VR4 QSFP112光模块赋能智算中心高速互联
大数据·人工智能·科技
阿里云大数据AI技术7 小时前
淘天集团基于 Fluss、Paimon 与 StarRocks 构建湖流一体数据链路
大数据·人工智能·flink
RFID固定资产管理系统7 小时前
适配媒体行业的固定资产管理软件有哪些功能与核心优势
大数据·人工智能·python·媒体
网渡科技9 小时前
GEO搜索优化:大模型引用率提升的六大实战策略
人工智能·搜索引擎·chatgpt
lupai9 小时前
手机归属地查询 API 新手接入指南
大数据·智能手机·api接口
数据皮皮侠AI9 小时前
上市公司数字供应链金融指数(2010-2024)
大数据·人工智能·算法
ACP广源盛1392462567310 小时前
DeepSeek‑V4‑Flash 公测@ACP#昇腾 950 国产算力组合落地,国产 PCIe 交换芯片 IX9104 有哪些硬件机会
大数据·数据库·人工智能·分布式·单片机·嵌入式硬件·microsoft
2601_9494999411 小时前
芯瑞科技400G VR4 QSFP-DD光模块:低功耗高密短距互联方案,赋能AI智算中心算力网络升级
大数据·运维·网络·人工智能·科技·光模块
Raas10012 小时前
MAIGateway,魔芋企业级AI网关的FinAPI成本归因设计
大数据·人工智能·网关·api网关·finapi
Pokerhead12 小时前
一个 Codex,能装下所有 AI 模型?
大数据·人工智能·ai·大模型·ai编程·codex