栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Elasticsearch重建索引reindex操作

Elasticsearch重建索引reindex操作

注:以下操作是在Kibana的“开发工具”中完成,既然了解elasticsearch就默认大家会“elasticsearch的界面”Kibana了


操作环境:Elasticsearch6.8.4、Kibana6.8.4

效果:数据迁移、重建索引

适用场景:需要修改索引mapping(例:给一个已存在的字段添加fields字段)


创建测试索引
PUT my_test_index
{
  "mappings": {
    "_doc": {
      "properties": {
        "name": {
          "type": "text",
          "analyzer": "ik_max_word",
          "search_analyzer": "ik_smart"
        }
      }
    }
  }
}
响应结果:
{
  "acknowledged" : true,
  "shards_acknowledged" : true,
  "index" : "my_test_index"
}

添加测试数据
POST my_test_index/_doc
{
  "name": "测试名称"
}
响应数据:
{
  "_index" : "my_test_index",
  "_type" : "_doc",
  "_id" : "FbKPJX8BZcfHsby67U_y",
  "_version" : 1,
  "result" : "created",
  "_shards" : {
    "total" : 2,
    "successful" : 2,
    "failed" : 0
  },
  "_seq_no" : 0,
  "_primary_term" : 1
}

创建新的索引
PUT my_test_reindex
{
  "mappings": {
    "_doc": {
      "properties": {
        "name": {
          "type": "text",
          "analyzer": "ik_max_word",
          "search_analyzer": "ik_smart",
          "fields": {
            "keyword": {
              "type": "keyword"
            }
          }
        }
      }
    }
  }
}
响应数据:
{
  "acknowledged" : true,
  "shards_acknowledged" : true,
  "index" : "my_test_reindex"
}

重建到新索引 - Simple

注意点:

1.重建索引前一定要先创建目标索引并设置好mapping,因为自动创建的索引和源索引是不一样的

2.这种是最简单直接的方法,网上看的优化参数之类的不熟悉的建议不用(例:天坑routing=cat)

POST _reindex
{
  "source": {
    "index": "my_test_index"
  },
  "dest": {
    "index": "my_test_reindex"
  }
}
响应数据:
{
  "took" : 18,
  "timed_out" : false,
  "total" : 1,
  "updated" : 0,
  "created" : 1,
  "deleted" : 0,
  "batches" : 1,
  "version_conflicts" : 0,
  "noops" : 0,
  "retries" : {
    "bulk" : 0,
    "search" : 0
  },
  "throttled_millis" : 0,
  "requests_per_second" : -1.0,
  "throttled_until_millis" : 0,
  "failures" : [ ]
}

重建到新索引 - More

这里只列出了常用参数,优化的参数不了解的不建议使用

POST _reindex
{
  "source": {
    "index": "my_test_index",
    "size": 1000,//批量处理条数(可选),默认1000,迁移速度慢可以调整此参数,每批5-15M之间为佳
    "query": {

    },//查询条件(可选),和查询语法一样,可以只查询部分数据迁移到新的索引
    
  },
  "dest": {
    "index": "my_test_reindex",
    "op_type": "create",//操作类型(可选),当值为create时,只有目标索引中不存在的文档才会被创建,文档冲突不更新
    "version_type": "internal",//版本类型(可选),可选值external | internal(默认),internal:源索引所有文档创建覆盖,external:源索引文档在目标文档不存在时候创建,源索引文档版本低于目标文档版本时候不更新,高则更新
  }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/748618.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号