意气风发啊骑上我快乐的小摩托良心公众号啊!我上墙了你开始了嚯嚯嚯嚯嚯哈哈哈哈哈皮皮虾我们走可乐在厨房 红牛在冰箱6666666

看弹幕,点关注

"

Forget all the reasons why it won't work and believe the one reason why it will.

忘掉所有它不可行的理由,牢记唯一它会成功的原因

"

1.索引备份迁移

众所周知,ES 中的 mapping 只能在索引建立初期进行创建,且建立之后不可更改。mapping 对应的字段会映射成指定类型,未定义字段则自动映射,一般为 text 类型。那么想更改索引名或者更改某字段的 mapping 时,是否就束手无策了呢?当然不是!!!官方提供了一个接口,供索引备份迁移操作使用,那便是 reindex。当旧索引与新索引在同一节点时,效率相当高,万条数据瞬间完成( 大约只需0.4s)。数百万数据也只需几分钟即可完成 操作,是不是很溜呢?快来学习一下吧。

请求方式:POST

请求 API _reindex

{"source": {"index": "要备份的索引名"},"dest": {"index": "新建的索引名"}
}

如果新索引中有数据,且 id 与旧索引中重复,那么会进行覆盖操作。

但是当数据量实在太大,高达几十 G 的时候,速度就会变得很慢,那是因为它底层还是利用了 scroll 操作。该如何进行优化呢?可以提升批量操作的文档数大小,如下:

{"source": {"index": "要备份的索引名","size" : 5000},"dest": {"index"  : "新建的索引名","routing": "=cat"}
}

批量操作大小是如何确定的呢?是根据文档数以及文档容量进行确定的。根据查阅资料得知,一个好的起点是每批处理数据 5-15 MB,这是个什么概念?

1000 个 1kb 的文档大约 1MB;1000 个 100kb 的文档是 100MB。

然后逐步增加每批处理数据容量,进行调优,直到最终性能无法再次提升。还有一个方法,那便是提升硬件,比如换固态,你懂得~

还有一种方法提升写入效率,这是终极操作,那便是 sliced。 reindex 支持 Sliced Scroll 操作。它的原理可以简单的理解为将每次的 Scroll 请求分解,分解后并行化请求,从而提升效率。方式为:

POST _reindex?slices=5&refresh
{"source": {"index": "要备份的索引名"},"dest": {"index": "新建的索引名"}
}

2.删除索引中指定的数据

请求方式:POST

请求 API _delete_by_query

{"query": {"match": {"字段名": "字段值"}}
}

方法便是先查出指定数据再删除。

3. 设置副本数、分片、动态映射

设置这些指标项可在建立 mapping 时一同设置。

{"settings":{"index":{// 刷新间隔"refresh_interval":"3s"},// 副本数"number_of_replicas":"0",// 切片(分布在每个节点上的切片)"number_of_shards":"1"},"mappings":{"_doc":{// 自动映射为 keyword 类型而不是默认的text类型"dynamic_templates":[{"string_fields":{"match":"*","match_mapping_type":"string","mapping":{"type":"keyword","norms":false}}}],// 建立mapping"properties":{"mydate":{"type":"date","format":"yyyy/MM/dd HH:mm:ss||date_time||strict_date_time"},"字段名":{"type":"字段类型"}}}}
}

全栈技术文章精选

redis操作命令总结

MySQL相关操作

SQL查询语句

前端中那些让你头疼的英文单词

Flask框架重点知识总结回顾

Elasticsearch查询时还在百度DSL语句吗?你可能需要这份总结

浅谈密码加密

Django框架中的英文单词

Django中数据库的相关操作

DRF框架中的英文单词

DRF框架

Django相关知识点回顾

python技术面试题-腾讯

Elasticsearch 中的骚操作你确定不看看?相关推荐

  1. JavaScript中的骚操作

    JavaScript中的骚操作--记录自用 JavaScript中的骚操作 数组去重 数组转化为对象(Array to Object) 活用三元表达式 转换为数字类型(Convert to Numbe ...

  2. 逆向趣事:那些封印在代码中的骚操作

    在逆向一些正常或恶意软件时,有时会遇到一些作者封印在代码中的骚操作,有趣又另类,甚至可以作为检测规则来应用,今天就来聊聊这些骚操作. 01 - 闲趣型 2012年的时候,Fireye捕获到一个Java ...

  3. 前端开发中的骚操作~~~~~

    应用场景 场景一:将一个字符串变成数字 常规操作 let str = '2' console.log(Number(str)) //2 复制代码 骚操作一 let str = '2' console. ...

  4. 你知道Laravel ORM 中的骚操作吗

    append class User extends Model {protected $appends = ['is_adult'];public function getIsAdultAttribu ...

  5. java操作es聚合操作并显示其他字段_深入浅析Elasticsearch中的聚合操作

    如果写过Elasticsearch的聚合操作DSL,都知道它非常的繁琐,很简单的业务就导致异常复杂的json.因为它的聚合操作是嵌套的,一个聚合的输出可以是另一个聚合的输入,并且聚合还支持pipeli ...

  6. Java 8 中 Map 骚操作之 merge() 的用法

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | juejin.im/post/5d9b455a ...

  7. ajax从mysql提取数据在html中_Python骚操作,提取pdf文件中的表格数据!

    在实际研究中,我们经常需要获取大量数据,而这些数据很大一部分以pdf表格的形式呈现,如公司年报.发行上市公告等.面对如此多的数据表格,采用手工复制黏贴的方式显然并不可取.那么如何才能高效提取出pdf文 ...

  8. java8 stream 分组_Java 8 中 Map 骚操作之 merge() 的用法

    作者:LQ木头来源:http://juejin.im/post/5d9b455ae51d45782b0c1bfb Java 8 最大的特性无异于更多地面向函数,比如引入了 lambda等,可以更好地进 ...

  9. Python 语言中的骚操作

    1.python中for _ in range(10) 与 for i in range(10): for _ in range(n) 一般仅仅用于循环n次,不用设置变量,用 _ 指代临时变量,只在这 ...

最新文章

  1. 核心业务系统的内容讨论(管理篇)(转载)
  2. Mr.J--贪吃蛇demo
  3. 各个JSON技术的比较(Jackson,Gson,Fastjson)的对比
  4. oracle blob 限制大小_Oracle的INSTANCE CAGING在数据库资源池中的作用
  5. RxJS修炼之 用弹珠测试学习RxJS
  6. java往json里添加对象_将新数组元素添加到JSON对象
  7. 小米路由器R1D改造记录-安装MIXBOX
  8. WPS2012专业版序列号
  9. 编写一个加密程序,要求从键盘输入一个字符串,然后输出加密后的字符串。加密规则是对每个字母转换为下一个字母表示,原来是a转换为b,原来是B转换为C。小写的z转换为小写的a,大写的Z转换为大写的A。
  10. 嵌入式和单片机的区别在哪?
  11. 安服/渗透测试面试题(2)
  12. AI落地的新范式,就“藏”在下一场软件基础设施的重大升级里
  13. 维基百科的语料库下载以及信息提取笔记
  14. 【Python CLI】第三章 控制台输出
  15. pytest--之测试报告allure配置
  16. 客户端七牛方式上传文件
  17. 抖音如何进行广告的投放
  18. 前端实现浏览器自动弹开三屏、一键关闭效果
  19. Web前端开发学习(一)
  20. xp系统sc服务器,SC怎么封装xp系统

热门文章

  1. FLOTHERM 10.1软件热分析仿真基础培训 风冷 水冷 自冷视频教程
  2. 白鹭引擎正式支持微信小游戏开发
  3. 虚实接口是当前元宇宙发展的重中之重
  4. Zuul、Gateway与Nginx的区别
  5. 数据分析报告中如何选择合适的统计图表
  6. 计算机音乐妈妈好乐谱,《世上只有妈妈好》歌曲简谱
  7. Oracle常用函数(zzl)
  8. 罗永浩放话要当带货一哥,意思是要超越李佳琦了?
  9. apr 移植android平台,omap3530移植android4.0
  10. 观点丨如何让劳动价值像资本一样自由流动与交易