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"
            ]
          }
        }
      ]
    }
  }
}
相关推荐
小王毕业啦13 分钟前
2005-2024年 省级-总抚养比、儿童抚养比、老年人抚养比数据(xlsx)
大数据·人工智能·数据挖掘·数据分析·社科数据·实证分析·经管数据
2501_927283581 小时前
荣联汇智助力天津艺虹打造“软硬一体”智慧工厂,全流程自动化引领印刷包装行业数智变革
大数据·运维·数据仓库·人工智能·低代码·自动化
还是奇怪3 小时前
AI 提示词工程入门:用好的语言与模型高效对话
大数据·人工智能·语言模型·自然语言处理·transformer
Data_Journal4 小时前
如何使用cURL更改User Agent
大数据·服务器·前端·javascript·数据库
weixin_446260854 小时前
城市智能化的底层基石:基于腾讯地图服务生态的移动定位与导航架构指引
大数据·人工智能·架构
qq_283720055 小时前
Vibe Coding 氛围编程入门教程:AI 时代的全新开发范式(零基础到实战)
大数据·人工智能
Volunteer Technology5 小时前
ES并发控制
大数据·elasticsearch·搜索引擎
johnny2335 小时前
搜索聚合引擎:SearXNG、Degoog
搜索引擎
小飞象—木兮6 小时前
《销售数据分析标准实践手册》:核心内涵与关键指标、落地销售数据分析的全流程···(附相关材料下载)
大数据·人工智能·数据挖掘·数据分析
盟接之桥6 小时前
什么是EDI(电子数据交换)|制造业场景解决方案
大数据·网络·安全·汽车·制造