首页 > 其他分享 >elasticsearch索引如何删除字段

elasticsearch索引如何删除字段

时间:2023-04-14 16:11:06浏览次数:36  
标签:index 删除 映射 mapping 索引 elasticsearch my

有两种方法可以删除 Elasticsearch 索引中的字段。 1. 通过 mapping 更新
您可以使用 Mapping API 更新索引映射并删除字段。以下是删除字段的步骤: 1. 通过 GET /your-index/_mapping 获取当前的索引映射。
2. 编辑映射,删除要删除的字段。
3. 将更新的映射传回 Elasticsearch,使用以下请求 PUT /your-index/_mapping。例如,如果您要从名为 my-index 的索引中删除 age 字段,可以执行以下操作:* 获取当前映射:

GET /my-index/_mapping
* 编辑映射并删除 age 字段:
{
  "properties": {
    "name": {
      "type": "text"
    },
    "gender": {
      "type": "keyword"
    }
  }
}
* 更新映射:
PUT /my-index/_mapping
{
  "properties": {
    "name": {
      "type": "text"
    },
    "gender": {
      "type": "keyword"
    }
  }
}
二 通过 Reindex
您还可以使用 Reindex API 复制索引并排除要删除的字段。以下是删除字段的步骤:1. 创建一个新索引,使用与当前索引相同的设置和映射。
2. 使用 Reindex API 将当前索引中的所有文档复制到新索引中,排除要删除的字段。
3. 删除原始索引并将新索引重命名为原始索引的名称。例如,如果您要从名为 my-index 的索引中删除 age 字段,可以执行以下操作:* 创建新索引:
PUT /my-new-index
{
  "settings": {
    ...
  },
  "mappings": {
    ...
  }
}
* 使用 Reindex API 将数据从旧索引复制到新索引,排除 age 字段:
POST /_reindex
{
  "source": {
    "index": "my-index"
  },
  "dest": {
    "index": "my-new-index"
  },
  "script": {
    "source": "ctx._source.remove('age')"
  }
}
* 删除原始索引:
DELETE /my-index
* 将新索引重命名为原始索引的名称:
POST /_reindex
{
  "source": {
    "index": "my-new-index"
  },
  "dest": {
    "index": "my-index"
  },
  "conflicts": "proceed"
}
DELETE /my-new-index

标签:index,删除,映射,mapping,索引,elasticsearch,my
From: https://www.cnblogs.com/8765h/p/17318622.html

相关文章

  • 删除或移动c盘hiberfil.sys文件的方法
    第一步、在开始的功能表的搜索栏里输入cmd,然后在搜索结果中的cmd按下右键,点选【以系统管理员身份运行】第二步、在命令提示符窗口里输入下面命令然后按下Enter:powercfg–hoffhiberfil.sys文件会自动消失。如果想让这个文件不放在系统盘中,使用注册表编辑器打开HKEY......
  • jenkins清理jobs中不存在的workspace,可能job已被删除,workspace还在占用存储空间
    #!/bin/bash##jenkins-workspace-clean-by-jobs.sh##循环寻找jobs任务文件夹forfilein/var/lib/jenkins/workspace/*doif[-d"$file"];thenjob_name=`basename$file`if[[!-d"/var/lib/jenkins/jobs/$job_......
  • Elasticsearch 7.x文档基本操作(CRUD)
    一、概述Elasticsearch是一个流行的开源搜索引擎,用于存储、搜索和分析数据。下面是Elasticsearch7.x版本的基本操作(CRUD):1、创建索引:PUT/index_name{"settings":{"number_of_shards":1,"number_of_replicas":0}}2、查看索引:GET/index_name3、......
  • Windows上删除jar包时提示已经被打开,怎样找到并杀掉
    场景Windows服务器上删除某个jar包时提示已经在Java....中被打开。则可能是该jar包之前运行时被异常关闭,此时线程还在,需要找到该线程并杀掉它。注:博客:https://blog.csdn.net/badao_liumang_qizhi实现1、打开cmd,输入jps,查看所有运行jar包的PID  这里我们明确知道该j......
  • MyBatisPlus解决逻辑删除与唯一索引的兼容问题
    需求背景比如有张用户表,在插入或者更新数据的时候,我们需要用户名称(username),不能重复。我们首先考虑的是给该字段创建唯一索引createuniqueindexuni_usernameonuser(username)似乎这样就可以了,然而事情并没有那么简单。因为我们表中的数据在删除的时候不会真的的删......
  • 毕业论文之删除endNote
    在对引用文献进行检查的时候,发现endnote很难用,每次打开都会出现如图提示。  这是因为没有完全删除掉引用。我在网上找了方法,一个是在查找中替换,如下图(引自Zotero、NoteExpress等文献管理工具的一类引文错误解决-知乎(zhihu.com)) 还有一个方法就是,如下图(引自Word文档中......
  • HDU 2473 Junk-Mail Filter(并查集的删除操作)
    题目地址:HDU2473这题以前碰到过,没做出来。。现在又做了做,还是没做出来。。、、这题涉及到并查集的删除操作。想到了设一个虚节点,但是我把虚节点设为了要删除的点的父节点,一直是栈溢出,目测是无限递归了。看了看别人的做法,原来只要建一个映射就可以了,虚节点是作为的新的映射,每......
  • es 同步索引报错:ElasticSearch ClusterBlockException[blocked by: [FORBIDDEN/12/ind
    es同步索引报错:ElasticSearchClusterBlockException[blockedby:[FORBIDDEN/12/indexread-only/allowdelete(api)]原因:网上有的解决方式是方法一,我试过,没有生效使用的是方法二方法一curl-XPUT-H"Content-Type:application/json"https://localhost:9200/_all/_set......
  • Elasticsearch——》kibana操作索引:增删改查
    一、新建索引PUT/test_001{"settings":{"index":{"max_result_window":1000000},"analysis":{"analyzer":{"ik_max_word":{"tokenizer":"ik_max_......
  • Python Xlwings 同时选择/删除 多个不连续的列
    找了很多次答案最终结果确定如下先调用api.Range选择多列然后删除sht.api.Range("C:E,G:H").Delete()https://blog.csdn.net/weixin_39608134/article/details/111820149https://m.656463.com/wenda/xuanzezhenggelie_568删除单列或连续多列就很简单了不需要调用api也可以sht[......