ES reindex介绍

ES数据库重建索引—Reindex详解 2、当数据的mapping需要修改,但是大量的数据已经导入到索引中了,重新导入数据到新的索引太耗时;1)用过Scroll接口吧,很慢?1、当你的数据量过大,而你的索引最初创建的分片数量不足,导致数据入库较慢的情况,此时需要扩大分片的数量,此时可以尝试使用Reindex。2)每个Scroll请求,可以分成多个Slice请求,可以理解为切片,各Slice独立并行,利用Scroll重建或者遍历要快很多倍。3)如果这个slices数字很大(例如500),建议选择一个较低的数字,因为过大的slices 会影响性能。 阅读详情

参考资料:

https://gaoming.blog.youkuaiyun.com/article/details/82734667

https://www.cnblogs.com/Ace-suiyuan008/p/9985249.html

https://www.cnblogs.com/siye1989/p/11561972.html

https://www.elastic.co/guide/en/elasticsearch/reference/6.5/docs-reindex.html

https://www.elastic.co/guide/en/elasticsearch/client/java-rest/6.5/java-rest-high-document-reindex.html

官方生肉传送门:

reindex的API介绍

restHighCLient相关介绍

这里ES版本为6.5.0

应用背景:

1、当你的数据量过大,而你的索引最初创建的分片数量不足,导致数据入库较慢的情况,此时需要扩大分片的数量,此时可以尝试使用Reindex。

2、当数据的mapping需要修改,但是大量的数据已经导入到索引中了,重新导入数据到新的索引太耗时;但是在ES中,一个字段的mapping在定义并且导入数据之后是不能再修改的,

所以这种情况下也可以考虑尝试使用Reindex。

Reindex会将一个索引的数据复制到另一个已存在的索引,但是并不会复制原索引的mapping(映射)、shard(分片)、replicas(副本)等配置信息。在引入索引模板后,符合命名规范的索引都会套用模板配置信息,这在reindex时也会十分便利,常见的按时间索引就是其中一种方式

 

A 使用:

最常见形式

POST _reindex
{
  "source": {
    "index": "twitter"
  },
  "dest": {
    "index": "new_twitter"
  }
}

该操作会将twitter中的文档复制到new_twitter中

对应java客户端写法

ReindexRequest request = new ReindexRequest(); 
request.setSourceIndices("source1", "source2"); 
request.setDestIndex("dest");  

源索引可以设置多个,从索引source1和索引source2中复制文档至dest

返回示例:

{
  "took" : 147,
  "timed_out": false,
  "created": 120,
  "updated": 0,
  "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,
  "total": 120,
  "failures" : [ ]
}

_reindex会将一个索引的快照数据copy到另一个索引,默认情况下存在相同的_id会进行覆盖(一般不会发生,除非是将两个索引的数据copy到一个索引中),通过设置version_type参数可以控制这种情况,不设置该变量值或者设置为internal会让ES直接将数据“倒”进目标索引,id type相同的文档若存在多个则会直接被新值覆盖

version_type:

POST _reindex
{
  "source": {
    "index": "twitter"
  },
  "dest": {
    "index": "new_twitter",
    "version_type": "internal"
  }
}
request.setDestVersionType(VersionType.EXTERNAL);

op_type:

将op_type设置为create时,会直接执行_reindex时在目标索引创建缺失的文档,若此时文档不存在缺失的情况则会导致版本冲突

POST _reindex
{
  "source": {
    "index": "twitter"
  },
  "dest": {
    "index": "new_twitter",
    "op_type": "create"
  }
}
request.setDestOpType("create");

conflicts:

默认情况下,发生冲突会禁止_reindex进程,将该值设置为"proceed"可以在发生冲突时跳过当前继续执行,类似于continue

POST _reindex
{
  "conflicts": "proceed",
  "source": {
    "index": "twitter"
  },
  "dest": {
    "index": "new_twitter",
    "op_type": "create"
  }
}
request.setConflicts("proceed"); 

query与type:

对满足query条件的数据/type属性符合要求的数据进行reindex操作,执行方式如下:

POST _reindex
{
  "source": {
    "index": "twitter",
    "type": "_doc",
    "query": {
      "term": {
        "user": "kimchy"
      }
    }
  },
  "dest": {
    "index": "new_twitter"
  }
}
request.setSourceDocTypes("doc"); 
request.setSourceQuery(new TermQueryBuilder("user", "kimchy"));

source与type:

同上,索引twitter与blog中的type为_doc与post的文档数据将会被复制

POST _reindex
{
  "source": {
    "index": ["twitter", "blog"],
    "type": ["_doc", "post"]
  },
  "dest": {
    "index": "all_together",
    "type": "_doc"
  }
}

size:

这个参数可控制执行的文档数量,如下例子将只会复制一个文档

POST _reindex
{
  "size": 1,
  "source": {
    "index": "twitter"
  },
  "dest": {
    "index": "new_twitter"
  }
}
request.setSize(1);

size与sort:

通过sort与size参数的结合,我们可以只复制部分我们想要的数据,如下例子将把twitter中date字段降序排列的前10000条数据,_reindex是基于scroll操作的,sort会降低执行效率,如果可以的话,最好使用query代替sort与size的组合使用

POST _reindex
{
  "size": 10000,
  "source": {
    "index": "twitter",
    "sort": { "date": "desc" }
  },
  "dest": {
    "index": "new_twitter"
  }
}
request.addSortField("field1", SortOrder.DESC); 
request.addSortField("field2", SortOrder.ASC);

sourceBatchSize:

默认情况下,每次执行处理的文档数量为1000,修改这个参数我们可以自定义批处理的数量

POST _reindex
{
  "source": {
    "index": "source",
    "size": 100
  },
  "dest": {
    "index": "dest",
    "routing": "=cat"
  }
}
request.setSourceBatchSize(100);

script:

_reindex有些类似于_update_by_query,也是可以使用脚本的

POST _reindex
{
  "source": {
    "index": "twitter"
  },
  "dest": {
    "index": "new_twitter",
    "version_type": "external"
  },
  "script": {
    "source": "if (ctx._source.foo == 'bar') {ctx._version++; ctx._source.remove('foo')}",
    "lang": "painless"
  }
}
request.setScript(
    new Script(
        ScriptType.INLINE, "painless",
        "if (ctx._source.user == 'kimchy') {ctx._source.likes++;}",
        Collections.emptyMap()));

脚本中的参数ctx.op 只能设置为noop或者delete,noop则什么都不做,若设置为delete,在目标索引中符合调价文档会被删除,且在响应体中会有具体的数量返回

  • _id
  • _type
  • _index
  • _version
  • _routing

这些参数都是可以被自定义的,具体使用参考官方文档

pipeline:

管道的具体用法也请查阅更多资料

POST _reindex
{
  "source": {
    "index": "source"
  },
  "dest": {
    "index": "dest",
    "pipeline": "some_ingest_pipeline"
  }
}

B. 从远程集群执行reindex

POST _reindex
{
  "source": {
    "remote": {
      "host": "http://otherhost:9200",
      "username": "user",
      "password": "pass"
    },
    "index": "source",
    "query": {
      "match": {
        "test": "data"
      }
    }
  },
  "dest": {
    "index": "dest"
  }
}
request.setRemoteInfo(
    new RemoteInfo(
        "https", "localhost", 9002, null, new BytesArray(new MatchAllQueryBuilder().toString()),
        "user", "pass", Collections.emptyMap(), new TimeValue(100, TimeUnit.MILLISECONDS),
        new TimeValue(100, TimeUnit.SECONDS)
    )
); 

java写法里请求在remoteInfo中,这里不建议使用Builder构建请求体,因为请求的集群版本可能比较旧,无法识别版本较新的请求,此时手写JSON请求体是最安全可靠的

"host"值为 协议 + 主机 + 端口号,用户名和密码是可选项,如果使用了这两个参数,ES会使用基础权限链接ES节点,要使用这两个参数请确保请求方式为https,否则发送的请求中密码将会是明文的

使用这个功能还需要配置elasticsearch.yaml中的白名单,reindex.remote.whitelist,如

reindex.remote.whitelist: "otherhost:9200, another:9200, 127.0.10.*:9200, localhost:*"

URL Parameters(reindex参数设置)


    Url可选参数有pretty,refresh, wait_for_completion, wait_for_active_shards, timeout, requests_per_second.

  1、refresh
        Index API的refresh只会让接收新数据的碎片被刷新,而reindex的refresh则会刷新所有索引。

  2、wait_for_completion
   将参数设置为false则会执行一些预执行检查,启动请求,然后返回一个任务,该任务可以用于任务api来取消或获得任务的状态。Es会在.tasks/task/${taskId}中创建记录ID。

  3、wait_for_active_shards
        在Bulk API的情况下,requests_per_second可以设置在继续索引之前,控制多少个碎片的拷贝数必须是活跃的。而timeout 超时控制每个写请求等待不可用的碎片等待的时间。

  4、requests_per_second
   每秒的请求数据,显然是节流控制参数,运行设置一个正整数,设置为-1表示不进行控制。

响应体如下

{
  "took" : 639,    // 执行全过程使用的毫秒数
  "updated": 0,    // 成功修改的条数
  "created": 123,  // 成功创建的条数
  "batches": 1,    // 批处理的个数
  "version_conflicts": 2, // 版本冲突个数
  "retries": {     // 重试机制
    "bulk": 0,     // 重试的批个数
    "search": 0    // 重试的查询个数
  }
  "throttled_millis": 0, // 由于设置requests_per_second参数而sleep的毫秒数
  "failures" : [ ]  // 失败的数据
}

C. Task API 操作:

取消Reindex操作

POST _tasks/r1A2WoRbTwKZ516z6NEs5A:36619/_cancel

requests_per_second(节流限制)

每秒请求数,设置为-1则会禁止当前操作,也可以设置为其它具体数字,若提升该值则立刻生效,若减小则会在当前批次结束后生效,这样是为了防止请求超时

POST _reindex/r1A2WoRbTwKZ516z6NEs5A:36619/_rethrottle?requests_per_second=-1

在Reindex时给文档字段重命名

源索引

POST test/_doc/1?refresh
{
  "text": "words words",
  "flag": "foo"
}

执行reindex并重命名flag字段

POST _reindex
{
  "source": {
    "index": "test"
  },
  "dest": {
    "index": "test2"
  },
  "script": {
    "source": "ctx._source.tag = ctx._source.remove(\"flag\")"
  }
}

查询目标索引

GET test2/_doc/1

返回

{
  "found": true,
  "_id": "1",
  "_index": "test2",
  "_type": "_doc",
  "_version": 1,
  "_source": {
    "text": "words words",
    "tag": "foo"
  }
}

可见,flag字段在目标索引中已被重命名为tag

Slicing:

该方法会将请求拆分且并行化执行,可以提高效率,将大的请求拆分为多个小请求

1 手动拆分:

POST _reindex
{
  "source": {
    "index": "my_index_name",
    "slice": {   // 第一slice执行操作
      "id": 0,
      "max": 2
    }
  },
  "dest": {
    "index": "my_index_name_new"
  }
}
POST _reindex
{
  "source": {
    "index": "my_index_name",
    "slice": {   // 第二slice执行操作
      "id": 1,
      "max": 2
    }
  },
  "dest": {
    "index": "my_index_name_new"
  }
}

可以通过以下命令查看执行的结果:

GET _refresh
POST my_index_name/_search?size=0&filter_path=hits.total

结果如下

{
  "hits": {
    "total": 120
  }
}

2 自动并行化

如下是自动划分的5个slices,只是将需要手动划分的过程自动化处理,将一个操作拆分为多个子操作并行化处理,其他查询方式等都一样,如下:

POST _reindex?slices=5&refresh
{
  "source": {
    "index": "my_index_name"
  },
  "dest": {
    "index": "my_index_name_new"
  }
} 

3、并行化处理的特性
        同样可以使用Task API查看每个slices的子请求(child)的task状态;

        获取每个slices请求的任务状态,只返回已完成的状态;

        这些子请求单独可寻址,比如取消操作和重新配置节流操作;

        对每个slices进行重新配置节流时,会将所有未完成的操作进行比例分配;

        对每个slices进行取消操作其他所有slices都会生效;

        每个请求只拥有全部数据的部分,并且每个文档的大小会不同,大文件基本分配均匀;

        并行化处理时使用requests_per_second 或size等,可能或导致分布不均匀;

        每个子请求可能获取到不同版本或快照的源索引数据。

4、slices数量设置要求
        数量不能过大,比如500可能出现CPU问题;

        查询性能角度看,设置slices为源索引的分片的倍数是比较合适的,一倍是最有效的;

        索引性能角度看,应该随着可用资源的数量线性地扩展;

        然而索引或查询性能是否在此过程中占据主导,取决于许多因素,比如重新索引的文档和重新索引的集群。

D.按时间索引的Reindex操作

现有索引

PUT metricbeat-2016.05.30/_doc/1?refresh
{"system.cpu.idle.pct": 0.908}
PUT metricbeat-2016.05.31/_doc/1?refresh
{"system.cpu.idle.pct": 0.105}

使用脚本

POST _reindex
{
  "source": {
    "index": "metricbeat-*"
  },
  "dest": {
    "index": "metricbeat"
  },
  "script": {
    "lang": "painless",
    "source": "ctx._index = 'metricbeat-' + (ctx._index.substring('metricbeat-'.length(), ctx._index.length())) + '-1'"
  }
}

查询目标索引

GET metricbeat-2016.05.30-1/_doc/1
GET metricbeat-2016.05.31-1/_doc/1

E 随机对源索引的一个子集合进行reindex

POST _reindex
{
  "size": 10,
  "source": {
    "index": "twitter",
    "query": {
      "function_score" : {
        "query" : { "match_all": {} },
        "random_score" : {}
      }
    },
    "sort": "_score"    
  },
  "dest": {
    "index": "random_twitter"
  }
}
深入解析TI ISP SBL寄存器:数据流控制与调试实战 在嵌入式视觉系统中,图像信号处理器(ISP)负责将原始传感器数据转换为高质量图像。其内部数据流管理是系统稳定性的核心,涉及多个模块(如CCDC、预览引擎、缩放器)对系统内存的并发访问。为解决潜在的访问冲突与带宽瓶颈,TI ISP引入了共享缓冲区逻辑(SBL)作为中央数据流控制器与仲裁器。SBL通过一系列寄存器实现基于请求的仲裁机制,管理各模块的读写请求队列与状态,其技术价值在于确保了高实时性数据流的可靠性与系统性能。典型应用场景包括多路视频处理、自动对焦(AF)与自动曝光(AE)统计、以及复杂的图像缩放流水 阅读详情

相关推荐

Elasticsearch reindex api 索引重建介绍与使用细节、性能优化

Reindex会将一个索引的数据复制到另一个已存在的索引,但是并不会复制原索引的mapping(映射)、shard(分片)、replicas(副本)等配置信息。ES官方提供了_reindex这一API,相比于使用bulk重新导入数据的速度更快,其核心是做跨索引、跨集群的数据迁移。在运行_reindex操作前,应当先根据复制源索引及存储需求创建新的目标索引,报错设置mapping映射、分片、副本等。

qq_50790981的博客 3488

ES索引重建reindex详解

ES分片数变更、mapping字段变更、分词规则修改等必须重建索引,此时可通过es本身自带的reindex功能进行数据迁移,支持跨索引、跨集群的数据迁移。

东境物语 1万+

ES索引重建--使用python elasticsearch

ES索引重建–使用python elasticsearch在ES集群的使用过程中,有时会遇到需要重新建立mapping的情况,通常,我们会选择建立一个新的索引,然后将数据从原索引迁移到新索引的方式来重建需要的mapping。之前也有看到过通过Elasticsearch 的Java API 调用scan&scroll 和bulk 的方法,无奈Java 太久没有上手了~~ 所以,找了一下,发现有Pyt

sunrise_zhou的博客 6553

ES数据迁移——reindex

一、在新ES中添加白名单 在elasticsearch.yml 中添加 reindex.remote.whitelist: ["xx.xx.xx.xx:9200"] 重启新集群 二、利用kibana修改新ES参数 PUT _settings?pretty { "index.refresh_interval": -1, "index.number_of_replicas": 0 } 三、使用reindex拉取数据 1、索引不拆分,数据迁移 如果有特殊数据类型,需要提前定义好,例如

anhao的博客 3366

ES数据库索引重建 -- Reindex 大数据

首先,我们连接到ES集群,然后创建一个新的索引来存储重建后的数据。最后,我们执行索引重建操作,并使用任务监控代码来检查索引重建的进度。ES的Reindex API是一个强大的工具,可以帮助我们在ES集群中重新索引数据。源索引是我们要重建的索引,而目标索引是我们新建的索引。通过使用ES的Reindex API,我们可以轻松处理大数据集,并优化我们的ES数据库。希望我的回答能够帮助你理解如何使用ES的Reindex API进行大数据集的索引重建。在进行索引重建之前,我们需要创建一个新的索引来存储重建后的数据。

ByteHackerX的博客 332

Elasticsearch Reindex

Elasticsearch Reindex Elasticsearch 是一个流行的开源搜索引擎,用于存储、搜索和分析大量数据。然而,在某些情况下,您可能需要重新索引您的数据,例如更改映射或优化索引设置。这就是 Elasticsearch Reindex 出现的原因。 什么是 Elasticsearch Reindex? Elasticsearch Reindex 是一个用于在 Elasticse...

gitblog_00098的博客 539

J-ES-Reindex:用于重新索引 Elasticsearch 索引的 Java 命令行工具

J-ES-Reindex Java Command Line tool for reindexing Elasticsearch Indices $ java -jar J-ES-Reindex.jar --------------------------------- Elasticsearch Java Reindex tool v0.5 --------------------------------- Usage: java -jar es-java-cli.jar [OPTIONS] --------------------------------- Generic Options: --shost <source> [default localhost] --sport <source> [default 9300] --sclsname <sourc

Elasticsearch Reindex 项目教程

Elasticsearch Reindex 项目教程 1. 项目的目录结构及介绍 elasticsearch-reindex/ ├── README.md ├── bin/ │ └── reindex ├── config/ │ └── reindex.conf ├── lib/ │ └── reindex.rb └── spec/ └── reindex_spec.rb ...

gitblog_00345的博客 663

取证实战:当嫌疑人电脑已关机,如何利用EFDD从休眠文件提取BitLocker密钥?

本文详细介绍了如何利用Elcomsoft Forensic Disk Decryptor(EFDD)从休眠文件(hiberfil.sys)中提取BitLocker密钥的实战技术。通过分析休眠文件中的内存快照,取证人员可以突破已关机加密设备的防线,获取关键解密信息。文章涵盖了工具配置、镜像获取、密钥提取及验证等完整流程,并提供了疑难问题解决方案和法律合规建议。

weixin_29315091的博客 344

FreeRTOS-Plus-CLI使用笔记

FreeRTOS-Plus-CLI使用笔记 一、简介 详细介绍可参考FreeRTOS-Plus-CLI官网地址入口 FreeRTOS+CLI(Command Line Interface, 命令行接口)提供了一种简单、小型、可扩展且RAM高效的方法,使FreeRTOS应用程序能够处理命令行输入。添加一条指令的步骤如下: 提供一个实现命令功能的函数 将命令映射到该功能函数 注册命令 运行命令解释器 命令行调试接口对于排查分析出现的问题提供了很好的接口,可以通过查看传感器信息判断传感器是否正常,可以查看内置

ApexYuan 6964

【ElasticSearch Reindex重建索引】

什么是Reindex? 索引重建。 Reindex演进 相比于ES 6.1,ES 6.7的Reindex为跨集群的索引重建增加了一系列SSL相关的参数配置。这些参数必须被配置到elasticsearch.yml文件里,只能依靠重启集群来生效,因此不建议频繁修改这些参数。 问题描述 源集群和目标集群都是安全模式。在Reindex操作时,源集群的Hostname在目标集群认证不通过。 [roo...

来啦,老弟~ 2835

Dynamics 365从入门到精通:一站式掌握微软智能商业应用平台

很多新手学Dynamics 365时,容易陷入“死记功能”的误区,其实这款平台的核心价值不是“功能多全”,而是“能适配企业业务流程,通过生态集成提升效率”。先从具体业务场景入手,理解每个功能的实际价值;再通过生态集成拓展系统能力;最后通过开发实现定制化,满足企业的特殊需求。按照这个思路,新手不用害怕复杂,一步步落地实战,3个月就能从“入门”到“能独立负责项目”。如果在学习过程中遇到具体问题(比如部署报错、数据迁移失败),欢迎在评论区留言,我会结合实战经验帮你解答!

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1041

【Elasticsearch】_reindex是啥?为啥要进行_reindex?

当你需要更改索引的映射(例如,添加新字段、修改字段类型)时,可以直接创建一个新的索引并使用 `_reindex` 将数据迁移到新的索引中。- 例如,你可能有一个按日期分片的索引,但随着时间的推移,这些索引变得难以管理,可以通过 `_reindex` 将它们合并或重新组织。4. **数据重组**:将多个源索引的数据合并到一个目标索引中,或者将一个大索引拆分成多个小索引。1. **数据迁移**:将数据从旧的索引迁移到新的索引,特别是在需要更新索引映射或设置时。### 如何使用 `_reindex`?

risc123456的博客 834

滚动时域优化方法

滚动时域优化(Receding Horizon Optimization, RHO),也被广泛称为模型预测控制(Model Predictive Control, MPC),是一种用于动态系统优化和控制的。其核心思想是“在每个当前时刻k,控制器只考虑未来一个(称为“预测时域”或“优化时域”,长度N)内的系统行为。(通过测量或估计得到)。(描述状态如何随输入和干扰变化)。(如果有,可能基于历史数据或假设)。在这个有限的未来时域[k, k+N-1]上,求解一个。这个优化问题的目标是找到一个。

m0_69522810的博客 2293

DSP在线升级方案:TMS320C6678使用网络或者串口输出升级数据进行固件升级

下面这段先引用创龙的说明 IBL 运行后, 将从 NOR FLASH 或 NAND FLASH 的 0x00080000 地址引导 ELF/BBLOB 格式 用户程序。 当引导 ELF 格式用户程序时, IBL 会解析用户程序头部信息,并根据头部信息 拷贝不同的代码段至指定 CPU 内存地址,然后将 PC 指针跳转至_c_int00, 再运行用户程 序。当引导 BBLOB 格式用户程序时,由于无头部信息, IBL 会将用户程序拷贝至 0x9E000000 (该内存地址为 IBL 代码指定),并将 PC..

ToneChip的专栏,一个传统的嵌入式码农,裸机编程 1942

elasticsearch ES数据迁移

#!/bin/bash #源es ES_HOST="192.168.137.200" ES_USER="" ES_PASSWORD='' ###获取es索引列表 index_list=`curl -u ES_USER:ES_PASSWORD -XGET "http://$ES_HOST:9200/_cat/indices?v"|awk -F' ' '{if (NR>1){print $3}}' |egrep -v "^\."` #目的es DES_HOST="192.168.137.200" DE.

会哭的雨@的博客 846

大疆Livox Mid-70雷达的使用

一、前期准备 (一)、使用Livox Viewer测试雷达 1、设置静态IP sudo ifconfig enx081f7152092a 192.168.1.50 查看IP是否设置成功 lacyexsale@lacyexsale-KLV-WX9:~$ ifconfig enx081f7152092a Link encap:以太网 硬件地址 08:1f:71:52:09:2a inet 地址:192.168.1.50 广播:192.168.1.255 掩码:255.255.25

LacyExsale的博客 1万+

Elasticsearch多节点向单节点数据迁移(reindex方式)

使用场景:原系统使用es集群(多节点)进行数据存储,业务需要将系统部署到单台服务器上,es使用单节点模式,需要进行数据迁移。

qq_27531813的博客 51

别再纠结高侧低侧了!用INA199/INA219这类集成电流检测芯片,5分钟搞定精准电流测量

本文详细解析了使用INA199/INA219等集成电流检测芯片实现精准电流测量的高效方案。通过对比传统分立元件方案,突出集成芯片在精度、温度稳定性和设计简化方面的优势,并提供硬件设计避坑指南和软件实现最佳实践,帮助开发者快速掌握电流检测技术。

weixin_42685438的博客 471

【Unity实战篇 】| 游戏中实现镂空遮罩效果【矩形、圆形镂空遮罩】

本文来写一下怎样在Unity中完成一个 镂空遮罩 的效果。 镂空遮罩 比较常用的有两种:矩形镂空遮罩、圆形镂空遮罩。 镂空遮罩 在游戏中常被当做新手引导必备的内容,可以给玩家更多不一样的体验。 下面就一起来看一下怎样做出这种效果吧!

努力前行,总会成为自己心中的那道光 1万+

Elasticsearch 提升 Reindex 速度

elasticsearch reindex 速度提升

沐霜枫叶 1030

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Elasticsearch:跨集群数据迁移之离线迁移

跨集群数据迁移 用户在腾讯云上自建的ES集群或者在其它云厂商购买的ES集群,如果要迁移至腾讯云ES,用户可以根据自己的业务需要选择适合自己的迁移方案。如果业务可以停服或者可以暂停写操作,可以参考离线迁移的四种方案。 离线迁移 离线迁移需要先停止老集群的写操作,将数据迁移完毕后在新集群上进行读写操作。适合于业务可以停服的场景。 离线迁移大概有以下几种方式: elasticsearch-dum...

Felix_阳的博客 2132

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

使用Reindex迁移Elasticsearch集群数据详解(上)

使用Reindex迁移Elasticsearch集群数据详解(上)

虽非技冠群英首,愿与同道共长歌; 大鹏一日同风起,扶摇直上九万里; 1150

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Elasticsearch迁移

迁移办法的几个办法:elasticsearch-dumpsnapshotreindexlogstash 公司迁移es,因数据量不是很大,采用的方法elasticsearch-dump的方式进行数据迁移 elasticsearch-dump:主要针对数据量小的情况,而且迁出迁入服务器网络通 elasticsearch-dump 是一款开源的es迁移工具,github地址:https:/...

seapeak007的博客 634

干货 | Elasticsearch Reindex性能提升10倍+实战

干货 | Elasticsearch Reindex性能提升10倍+实战   1、reindex的速率极慢,是否有办法改善? 以下问题来自社区:https://elasticsearch.cn/question/3782 问题1:reindex和snapshot的速率极慢,是否有办法改善? reindex和snapshot的速率比用filebeat或者kafka到es的写入速率慢好几个数...

Orbita_wangtao 332
上一篇: imagemagick图片合成例子
下一篇: java基础-JSON格式
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值