常用es命令

常用Elasticsearch命令

es别名链接和删除

json 复制代码
POST /_aliases
{
  "actions": [
    {
      "add": {
        "index": "index",
        "alias": "alias"
      }
    },
    {
      "remove": {
        "index": "index",
        "alias": "alias"
      }
    }
  ]
}

其中,一个POST请求中的actions按顺序执行,这使得可以无缝切换或者更新索引的别名,或者批量操作。索引可以使用GET /_cat/aliases?v查看。

索引迁移

索引直接迁移

json 复制代码
POST _reindex?wait_for_completion=false
{
  "source": {
    "size": 5000,
    "remote": {
      "host": "http://es.com:80",
      "username": "elastic",
      "password": "123456"
    },
    "index": "原索引名"
  },
  "dest": {
    "index": "目标索引名"
  }
}

其中:

  1. POST _reindex?wait_for_completion=false用于重新索引文档。wait_for_completion=false是一个查询参数,表示这个操作是异步的,API调用会立即返回一个任务ID,你可以通过这个任务ID来查询操作的进度。查询方法为GET /_tasks/{task_id}
  2. "source"代表源索引的信息;"size"指定了每次批量获取的文档数量,这里为5000;"remote"包含了远程Elasticsearch集群的连接信息;"host"指定远程Elasticsearch集群的地址和端口;"username"和"password"提供用于连接远程Elasticsearch集群的用户名和密码;"index"指定原索引;"dest"指定目标索引。

在使用这个API时,确保你的Elasticsearch集群安全设置允许这种操作,并且你有权限访问源索引和目标索引。此外,如果目标索引已经存在,Elasticsearch默认会失败,除非你使用op_type=index参数来覆盖已有文档。

只复制索引参数

首先你需要使用GET /{index}/_mappingGET /{index}/_settings获取索引的映射信息和设置信息,其中记得在settings中剔除index.creation_date、index.uuid、index.version.created、index.version.upgraded、index.provided_name几个字段,这属于索引自动创建的,不能在创建新索引时使用,其样式可能为:

settings:

json 复制代码
{
  "test_index" : {
    "settings" : {
      "index" : {
        "number_of_shards" : "5",
        "number_of_replicas" : "1",
        "version" : { }
      }
    }
  }
}

mappings

json 复制代码
{
    "test_index": {
        "mappings": {
            "test_index": {
                "properties": {
                    "id": {
                        "type": "long"
                    },
                    "content": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    }
                }
            }
        }
    }
}

其中最外层的test_index是你原索引的名字,需要去除,将settingsmappings放在最外层,再加一个PUT {index}命令就可以复制索引结参数了,即

json 复制代码
PUT  {index}
{
    "settings": {
        "index": {
            "number_of_shards": "5",
            "number_of_replicas": "1",
            "version": {

            }
        }
    },
    "mappings": {
        "{index}": {
            "properties": {
                "id": {
                    "type": "long"
                },
                "content": {
                    "type": "text",
                    "fields": {
                        "keyword": {
                            "type": "keyword",
                            "ignore_above": 256
                        }
                    }
                }
            }
        }
    }
}
相关推荐
跨境卫士苏苏3 小时前
亚马逊AI广告革命:告别“猜心”,迎接“共创”时代
大数据·人工智能·算法·亚马逊·防关联
珠海西格电力3 小时前
零碳园区工业厂房光伏一体化(BIPV)基础规划
大数据·运维·人工智能·智慧城市·能源
HerayChen3 小时前
HbuilderX 内存溢出报错
java·大数据·linux
梦里不知身是客114 小时前
flink中checkpoint的重启策略
大数据·服务器·flink
中科天工5 小时前
从“人海战术”到“无人值守”:一套智能工厂解决方案,如何用最小空间释放最大产能?
大数据·人工智能·智能
zhaodiandiandian5 小时前
生成式AI重塑内容创作:人机协同开启行业新生态
大数据·人工智能
不平衡的叉叉树5 小时前
Es索引文档全量更新与迁移
大数据·elasticsearch·搜索引擎
科技动态5 小时前
BOE(京东方)“焕新2026”年终媒体智享会落地成都 三大显示技术品牌引领行业发展风潮
大数据·人工智能·媒体
沃达德软件5 小时前
警务大数据实战模型解析
大数据·人工智能
zhou_gai6 小时前
供应链计划系统架构实战(五):数据模型设计-全球网络模型与数据分布
大数据·系统架构·制造