ElasticSearch批量更新索引的优化

ES优化总结(特别是在bulk大量数据到ES的时候),持续续更新中。。。。 1、refresh时间间隔 优化点: 减少刷新频率,降低潜在的写磁盘性能损耗, 默认的刷新时间间隔是1s,对于写入量很大的场景,这样的配置会导致写入吞吐量很低,适当提高刷新间隔,可以提升写入量,代价就是让新写入的数据在60s之后可以被搜索,新数据可见的及时性有所下降。 在bulk大量数据到ES集群的时候可以关闭刷新频率,把其值设置为-1就是关闭了刷新频率,在导入完之后设置成合理的值即可,例 阅读详情

1. 多线程程序插入

可以根据服务器情况开启多个线程index,速度可以提高n倍, n>=2

2. 取消replias

如果有多台机器,可以以每台设置n个shards的方式,根据业务情况,可以考虑取消replias
curl -XPUT ‘http://127.0.0.1:9200/dg-test/’ -d ‘{
“settings” : {
“number_of_shards” : 5,
“number_of_replicas” : 0
}
}’
这里设置5个shards, 复制为0,如果需要replicas,可以完成index后再修改为replicas>=1
原文:http://www.elasticsearch.org/guide/reference/api/admin-indices-create-index.html

3. 提高ES占用内存

内存适当调大,初始是256M, 最大32G,
调大后,最小和最大一样,避免GC, 并根据机器情况,设置内存大小,
$ bin/elasticsearch -f -Xmx32g -Xms32g -Des.index.storage.type=memory
原文:http://www.elasticsearch.org/guide/reference/setup/installation.html

4. 减少shard刷新间隔

curl -XPUT ‘http://127.0.0.1:9200/dg-test/_settings’ -d ‘{
“index” : {
“refresh_interval” : “-1”
}
}’

完成bulk插入后再修改为初始值
curl -XPUT ‘http://127.0.0.1:9200/dg-test/_settings’ -d ‘{
“index” : {
“refresh_interval” : “1s”
}
}’

5. 设置一个shard的段segment最大数

可以减少段文件数,提高查询速度
curl -XPOST ‘http://127.0.0.1:9200/dw-search/_optimize?max_num_segments=5’
注意:有时候可能需要多次执行
原文:http://www.elasticsearch.org/guide/reference/api/admin-indices-update-settings.html
原文:http://www.elasticsearch.org/guide/reference/index-modules/merge.html

6. 去掉mapping中_all域

Index中默认会有_all的域,这个会给查询带来方便,但是会增加索引时间和索引尺寸
“_all” : {“enabled” : false}
原文:http://www.elasticsearch.org/guide/reference/mapping/all-field.html

7. 设置source为压缩模式或者disable

compress=true这个能大大减少index的尺寸
disable将直接没有_source域

8. 增加merge.policy.merge_factor数

设置merge.policy.merge_factor到30,初始是10
增加这个数需要更多的内存,bulk index可以调大这个值.
如果是即时索引,应该调小这个值
原文:http://www.elasticsearch.org/guide/reference/index-modules/merge.html

参考:

  1. ElasticSearch优化的一些方法
RabbitMQ与大数据搜索引擎:实时索引更新 本文深入探讨了基于RabbitMQ实现大数据搜索引擎实时索引更新的完整技术框架。随着数据量呈指数级增长和业务对实时性要求的提高,传统批量索引更新策略已无法满足现代应用需求。通过将RabbitMQ的高级消息路由能力与搜索引擎索引机制深度整合,本文提出了一套兼顾吞吐量、低延迟和数据一致性的解决方案。内容涵盖理论基础、系统架构设计、核心算法实现、性能优化策略及生产环境部署最佳实践,为构建企业级实时搜索引擎提供全面技术指导。Volume(数据量)高并发写入:每秒数十万甚至数百万的数据变更。 阅读详情

相关推荐

ARM双核锁步DCLS Lockstep技术研究(FPGA实现)

基于《Applying Dual-Core Lockstep in Embedded Processors to Mitigate Radiation-induced Soft Errors》文章总结 RISC-V双核锁步DCLS Lockstep技术参考之前文章: RISC-V双核锁步DCLS Lockstep技术总结_远古架构师alanwu的博客-优快云博客https://blog.youkuaiyun.com/heyuming20062007/article/details/123329537ARM+RIS

heyuming20062007的博客 8727

ElasticSearch搜索优化的方法

多线程程序插入,可以根据服务器情况开启多个线程index 速度可以提高n倍, n>=2 如果有多台机器,可以以每台设置n个shards的方式,根据业务情况,可以考虑取消replias curl -XPUT ‘http://10.1..:9200/dw-search/’ -d ‘{ “settings” : { “number_of_shards” : 20, “

xcdsy@aliyun.com 905

海康工业相机使用教程

海康工业相机连接电脑教程

qq_43251445的博客 2万+

[ES7版本系列(四)] Java连接ElasticSearch向索引中(bulk)批量更新数据

1.引入依赖,这里使用的是es的7以上的版本,使用elasticsearch-rest-high-level-client 来创建高级别的客户端 <!-- https://mvnrepository.com/artifact/org.elasticsearch/elasticsearch --> <dependency> <groupId>org.elasticsearch</groupId> <artifact.

寒夜二十五 6481

【Arduino】入门篇——交通信号灯

模拟交通信号灯一、实验目的二、实验材料三、电路图四、实验过程五、代码块六、实验结果 一、实验目的 我想大家都看见过交通灯,就是马路上十字路口的红绿灯。如果您开过车,我想您一定仔细观察过交通灯,如果您还没有驾驶过车,您是否仔细观察过交通灯呢?交通灯包括三种个不同颜色的灯:红灯、黄灯和绿灯。 每个路口的红绿灯切换的时间并不是相同,这个是根据不同路口的车流情况来设定的,下面就是模仿交通灯的一个实验 二...

漠宸离若的博客 1万+

TS808效果器制作教程

TS808效果器制作教程 可以在立创商城购买到大部分的电阻电容和IC,音频接口,踩钉,电位器和电源接口可以去某宝看看都买得到的。链接https//pan.baidu.com/s/1QId1eIE3fJ2u5NLBSISvGA。安装过程过于繁琐,把所有元器件按照图纸焊接完成就可以调试了,祝你们成功!这是TS808经典效果器制作过程的记录。IC是JRC4558。...

qq_18948149的博客 3426

elasticsearch中多个索引的批量更新(本方法按照doc的id)

gol_index_name = "index_*" es_search_optionsss = {   "query":{"match_all": {}} } es_result = es_client.search(index=gol_index_name, doc_type="index_type", body=es_search_option...

Areigninhell的博客 2302

立创开源Link Hub多功能USB扩展坞:CH339F主控+4层板设计,实测网口/存储性能

本文深度评测了立创开源Link Hub多功能USB扩展坞,其采用CH339F主控芯片与4层PCB板设计,并严格进行阻抗匹配。实测表明,该扩展坞的USB接口与microSD读卡器性能均接近USB 2.0理论极限,百兆以太网口转换效率高,性能损失极小。设计上注重电源保护与信号完整性,是一个兼顾稳定性与成本的高完成度开源硬件项目。

weixin_36173034的博客 158

SQL的索引以及优化

我们不管在写代码,或者对执行数据库操作的时候,SQL优化是不可缺少的一环。所以这个功能至关重要。下面我们来说说SQL语句优化: 定位慢查询 show status like 'connections' ------------------------当有多少客户端连接数据库 show status like 'slow_queries'----------------------查询有多少......

wszhm123的博客 3279

【软碟通 | UltraISO】刻录光盘教程(制作U盘启动盘)

前言 今天老师说办公室的电脑有点卡,让我给重新安装一个 Windows 7 系统。于是就用软碟通(UltraISO)在 U 盘上刻录了一个 Windows 7 镜像,然后给老师重装了系统。顺便把制作 U 盘启动盘的教程也分享给大家。 软件 UltraISO v9.7.1.3519:点击跳转(密码:dd2k) 教程 将 U 盘插到电脑上,然后鼠标右击选择格式化(制作启动盘必须格式化) 点击文件-打开 选择下载好的系统镜像(如:Windows 7) 点击启动-写入硬盘映像 选择硬盘

XavierJ的博客 2万+

团体程序设计天梯赛竞赛题--登顶题【L3-042 污染大亨】

登顶级 3 道题,每道题 30 分,满分为 90 分。

Pretty Boy Fox的博客 1361

ES的文档更新机制

想获取更多高质量的Java技术文章?欢迎访问Java技术小馆官网,持续更新优质内容,助力技术成长Java技术小馆官网。

u013257321的博客 1379

Autosar Dcm配置-App到Boot的跳转及1002回复配置及实现-基于ETAS软件

在软件刷写流程中,上位机(诊断仪)发送1002后,APP检查允许跳转boot后,在特定的ram(软复位不清除)写入指定置后通过触发软件复位来跳转到boot的。在APP跳转到Bootloader时,1002的回复有两种方式,一种是APP直接回复,然后跳转,另一种是APP回复NRC78,然后跳转,在Boot中回复。本文介绍这两种方式的实现。如果是在APP中回复,可以少发一个0x78,整体跳转时间可能会少一些。但是如果诊断在收到5002之后立马请求其他的服务,可能出现boot正在初始化而未正常接收到报文。

赞的博客 1556

FOSElasticaBundle性能优化:加速索引填充与批量操作的10个技巧

FOSElasticaBundle是Symfony项目中集成Elasticsearch的强大工具,但随着数据量增长,索引填充和批量操作可能变得缓慢。本文将分享10个实用技巧,帮助你显著提升FOSElasticaBundle的性能,优化索引填充速度和批量操作效率。 ## 1. 优化批量大小配置 📦 默认情况下,FOSElasticaBundle使用100条记录的批量大小进行索引操作。通过调整`

gitblog_00019的博客 711

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

elasticsearch的研究与使用(一)

序言 产品中需要支持分词搜索,以前听说过elastic search的分布式搜索引擎,所以就动手研究下elastic search,以下的内容参考于https://www.elastic.co 的官方帮助文档。安装elastic search1.7的JDK版本至少为1.7,确认本机是否安装了JDK并设置了环境变量java -version echo $JAVA_HOME 下载es cur

libingxin的专栏 1329

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

ElasticSearch索引操作

ElasticSearch 索引是用来存储和组织文档的结构。在 ElasticSearch 中,索引操作包括创建索引、管理索引、删除索引、更新索引等。下面是对这些常见索引操作的详细解释。1. 创建索引(Create Index)创建索引是将文档结构和存储配置定义为索引的一部分。索引配置包括分片数、副本数、映射、分析器等。创...

计算机毕业论文源码,学生个人网页制作html源码。贴近用户做网络推广和互联网优化。 1366

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Hive 操作 ES 索引数据:创建、查询、更新、插入全流程实战

Elasticsearch-Hadoop 连接器是打通 Hive 与 Elasticsearch 的关键组件,其核心原理是将 ES 索引映射为 Hive 外部表,实现类 SQL 的读写访问。通过外表映射机制,Hive 无需将数据物理搬迁至 HDFS,即可完成海量数据的批式处理与全文检索的融合。在离线数仓场景中,该方案支持将 ES 日志明细同步至 Hive 做宽表关联,也可将 Hive 加工结果回写 ES 供业务查询。围绕索引数据的创建、查询、更新与插入四类操作,结合版本匹配、字段类型映射、查询下推与批量写入

weixin_29044157的博客 303

【Elasticsearch入门】ElasticSearch索引

索引是具有相同结构的文档集合。在 Elasticsearch中索引是个非常重要的内容,对Elasticsearch的大部分操作都是基于索引来完成的。 1、索引管理 1.1、创建索引 创建索引的时候可以通过修改 number_of_shards和 number_of_replicas参数的数量来修改分片和副本的数量。在默认的情况下分片的数量是5个(7.0版本默认是1个),副本的数量是1个。 ...

通往神秘的道路的专栏 5919

Elasticsearch 使用误区之二——频繁更新文档

在使用 Elasticsearch 时,频繁更新文档是一种常见误区。这不仅影响性能,还可能导致系统资源的浪费。理解 Elasticsearch 的文档更新机制对于优化性能至关重要。关于 Elasticsearch 更新操作,常见问题如下:——https://t.zsxq.com/bDxwL1、频繁更新的挑战在关系型数据库中,更新操作在事务完成后立即生效,查询结果可以立刻反映变化。而在 Elasti...

铭毅天下Elasticsearch 2080

Elasticsearch如何创建索引,添加,删除,更新文档

显然,我们的创建时成功的。为一个字段的不同目的创建不同方式索引,我们定义字段 city 为 text 类型, 但是text 类型的数据在摄入的时候会分词,这样它可以实现搜索的功能。index 总是可以成功,它可以覆盖之前的已经创建的文档,但是 create 则不行,如果已经有以那个 id 为名义的文档,就不会成功。如果更新时该文档有新的字段并且这个字段在现有的 mapping 中没有出现,那么 es会根据 schem on write 的策略来推测该字段的类型,并更新当前的 mapping 到最新的状态。

追寻心的步伐 2270

ElasticSearch的REST APIs 之 索引设置管理

基于 ES 7.7, 官方文档 主要内容: Update index settings: 修改索引的设置 Get index settings...

aben_sky的专栏 1358

14.Elasticsearch索引设置

本文讲解Elasticsearch中的索引级别相关的设置方法: (本文为官方文档翻译:点击进入原文) 在前一篇的分页查询中,很多人在分页页码过大时会遇到一个错误:Result window is too large, from + size must be less than or equal to: [10000] but was [10025].,解决方案请参考:点击进入 1.Updat...

IT云清 1633

一起学Elasticsearch系列-索引的批量操作

Elasticsearch 提供了 _mget 和 _bulk API 来执行批量操作,它允许你在单个 HTTP 请求中进行多个索引获取/删除/更新/创建操作。这种方法比发送大量的单个请求更有效率

BookSea的博客 1722

异步更新ES索引

需要我进一步实现这些高级优化吗?

Leon_Jinhai_Sun的博客 181

如何用Chewy快速构建Elasticsearch索引:从配置到实现的完整教程

Chewy是一个基于官方elasticsearch-ruby客户端的高级Elasticsearch Ruby框架,它提供了简洁直观的DSL,帮助开发者轻松构建和管理Elasticsearch索引。本教程将带你从环境配置到索引实现,掌握Chewy的核心使用方法,让你的Elasticsearch集成工作变得简单高效。 ## 快速了解Chewy:为什么选择这个Ruby框架? Chewy作为一款专为R

gitblog_00611的博客 412
上一篇: CentOS下安装MySQLdb
下一篇: HIVE参数调优(汇总)
lazythinker
博客等级 码龄18年 26粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值