暂时未有相关云产品技术能力~
暂无个人介绍
每个人都会犯错,别再让相同的错误一再发生,别再让我们为那些错误付出沉痛的代价。 清单不是写在纸上的,而是印在心上的。我们别无选择,清单,正在一步步变革我们的生活,变革这个复杂的世界...... ——[美] 阿图-葛尔德《清单革命》
本文是在以下 6 篇基础上的继续扩展版本,不求大而全,只求对实战有帮助。 1、干货 | Elasticsearch 运维实战常用命令清单 2、干货 | Elasticsearch Top10 监控指标 3、你不得不关注的 Elasticsearch Top X 关键指标 4、干货 | Elasticsearch 开发实战常用命令清单 5、干货 | Elasticsearch开发人员最佳实战指南 6、Elasitcsearch 开发运维常用命令集锦
Elasitcsearch 集群开发运维常用命令集锦,后面会逐步扩展完善。 早期总结的开发、运维常见命令清单列表如下: 1、干货 | Elasticsearch 运维实战常用命令清单 2、干货 | Elasticsearch Top10 监控指标 3、干货 | Elasticsearch 开发实战常用命令清单 4、干货 | Elasticsearch开发人员最佳实战指南
Elasticsearch 实战项目中势必会用到中文分词,而中文分词器的选型包含但不限于如下开源分词器: IK 分词器 https://github.com/medcl/elasticsearch-analysis-ik Ansj 分词器 https://github.com/NLPchina/elasticsearch-analysis-ansj jieba 分词器 https://github.com/sing1ee/elasticsearch-jieba-plugin 清华大学 thulac 分词器 https://github.com/microbun/elastics
1、线上真实案例 球友问题:我记得您写过一篇关于建模字段膨胀的问题,对于比如request header response这种动态的对象,是怎么处理来着? 进一步反馈:决定升级es高版本了,Flattened 解千愁!主要我们这需求要把接口所有信息都保留,只能这样了。
1、关于Nested 问题 上次讲解了Elasticsearch 数据建模之后,很多同学反馈问题: Q1:用nested做嵌套文档,对嵌套文档的字段做查询,只要主文档下一个嵌套文档符合要求,就会把主文档以及下面的所有的嵌套文档都查出来,实际我只需要符合要求的嵌套文档。这个用nested可以做吗? Q2:请教个问题 这个nested 是只要用这个字段类型就影响性能还是说当只有用这个字段类型去筛选才影响性能? Q3:Elasticsearch Nested 取一条数据 怎么搞? Q4:nested聚合查询等,导致jvm内存剧增,出现长时间的full GC,如何破? 介于此,非常有必要将
内容摘要 在实战中,很多同学都会产生这样的疑问: 订单表、账单表父子文档可以实现类似 SQL 的左连接吗?通过 canal 同步到 ES 中,能否实现类似左连接的效果? 一个人管理 1000 家连锁门店,如何更高效地查询自己管辖的商品类目?企微 一个人维护了 1000 个员工,如何快速查询自己管辖的员工信息? 随着业务的增长,一个索引的字段数据不断膨胀(商品场景变化,业务一直加字段),有什么解决方法? 一个索引字段个数设置为 1500 个,超出这个限制,会不会消耗 CPU 资源和造成写入堆积? 日志诊断用于机器学习基线,需要将 message 分离出来,怎么在写入前搞定? ————
1、聚合后分页应用场景 在常规检索的基础上,用户期望返回基于特定字段的聚合结果,且用户期望分页查看检索和聚合结果。 如下图所示:以2020东京奥运会热点新闻亚洲飞人"苏炳添”为例,用户期望查看有关“苏炳添”的新闻,同时期望查看相同标题的相似文章列表。
1、实战问题 如下都是实战环节遇到的问题: logstash谁解决过时区问题,mysql是东八区shanghai 但是这玩意读完存到es就少了8小时? 目前索引会比真正时间晚8小时,导致8点前的日志写到昨天索引里,大佬们有招吗? 问一下 logstash输出日志到本地文件中,按照小时生成索引,但是他这边的时区是utc,生成的时间和北京时间少8小时,这一块大佬们是咋操作的? ......从浏览器kibana那里看timestamp时间戳变成了utc的时区? 上面的问题都涉及到时区问题,涉及到数据的同步(logstash)、写入、检索(elasticsearch)、可视化(kibana)
直接从一个新概念的认知过程说下 elasticsearch data stream。
1、实战问题 在使用 Elasticsearch 过程中,不免还会有 Mysql 等关系型数据库的使用痕迹,以下两个都是实战开发问到的问题: Elasticsearch 新增字段,能在 Mapping 设置默认值吗? Elasticsearch 有什么好的方式维护文档的 create_time (创建时间)和 update_time (更新时间)吗? 本文就从 Elasticsearch 默认值的实现方案说开去。
1、线上实战问题 前置说明:本文是线上环境的实战问题拆解,涉及复杂 DSL,看着会很长,但强烈建议您耐心读完。
1、日志实时分析是 Elasticsearch 三大核心业务场景之一
从 Elasticsearch 5 开始,Elasticsearch 的默认相似度算法是 Okapi BM25,Okapi BM25模型于 1994 年提出,BM25 的 BM 是缩写自 Best Match, 25 是经过 25 次迭代调整之后得出的算法,该模型也是基于 TF/IDF 进化来的,Okapi 信息检索系统是第一个实现此功能的系统,之后被广泛应用在不同系统里。 相似性(评分/排名模型)定义了匹配文档的评分方式, 对一组文档执行搜索并提供按相关性排序的结果。在这篇文章中,我们将一步步拆解 Okapi BM25 模型的内部工作原理。
1、实战问题 问题1:es 中 scroll 游标不能与 collapse 共用,有什么办法可以实现 collapse 的效果? 问题2:采集互联网数据有重复数据写入 Elasticsearch,如何去重后放到另外索引?
1、什么是索引生命周期? 关于人生,有人这么说:“人,生来一个人,死去一个人,所以,人生就是一个人生老病死的简称。”
1、两个同步实战问题 问题1:我想从目前的阿里云上6.7版本的es商业版,迁移到自己的7.10的自建环境,证书不一样,无法远程 无法ccr,有没有实时同步的工具呀?还是只能用logstash ? 问题2:es 2个索引数据同步有什么组件或者方案吗?
1、关于 Elasticsearch 分页查询,这几个问题经常被问到 问题1:想请问下,一次性获取索引上的某个字段的所有值(100 万左右),除了把 max_result_window 调大 ,还有没有啥方法? 问题2:关于 es 的分页,每次拿 20 条展示在前台,然后点击下一页,在查询后面的20条数据,应该要怎么写? 问题3:From+size、Scroll、search_after 的本质区别和应用场景分别是什么?
1、实战遇到的问题 问题描述:如何在一个四个节点的集群中,将主节点中的数据分散到其他节点中去,最后主节点没有数据? 问题细节: 线上环境有4个节点,单节点为48核的物理机,252G的内存。 数据每日增量不大,累计数据就一个TB左右。数据的类型为文书类数据。 核心数据就一个索引,设置了48个分片。 只设置了一个主节点(同时是数据节点),其余三个仅数据节点。
1、由两个线上问题说开去 问题1:用 Elasticsearch 做宽表的报表查询,我们打算用 jdbc 的方式访问,方便开发(使用sql),这种方式还是用JAVA封装的方法好。有没有坑? 问题2:Elasticsearch 可以用脚本写sql ,像执行hive脚本一样吗? 2、问题解读 问题 1 涉及选型问题,我们会条分缕析解读。 问题 2 涉及 Elasticsearch 是否支持 SQL 功能。 3、Elasticsearch SQL 到底指什么? 一句话:能像关系型数据库如 Mysql 中使用 SQL 方式一样方便的实现 Elasticsearch 增、删、改、查(尤其是检索、
1、线上实战问题 问题 1:想要请问一下,我这边需求是每分钟利用 sparksteaming 插入按天的索引150万条数据。一般情况下还好,索引7个分片,1副本,但是偶尔会出现延迟很高的情况。比如:一般情况下1分钟插入150万能正常插入,可能突然就出现了需要5分钟才能插入成功,然后又正常了。很头疼。
wildcard 检索可以定义为:支持通配符的模糊检索。 类似 Mysql 中的 like 模糊匹配,如下所示:
扩展背景描述: 这是 Elasticsearch 自定义分词 Text analysis 章节 Token filter reference 小节的 同义词 token 过滤 (Synonym token filter)的一个参数。 的确,官方文档讲解的不详细。 我们彻底解读一下。
手敲脑图串讲 Elasticsearch 核心知识点 在生产环境搭建或维护 Elasticsearch 集群和个人搭建集群的小打小闹有非常大的不同。 本文的最佳实践基于每天增量数亿+ 的线上环境。
1、事出有因 实战问题:有数百万数据需要导入 Elasticsearch 做性能对比测试,但当前数据存储在 Mysql 中,且核心字段以 Json 字符串形式存储。Mysql 存储如下所示:
1、线程池相关线上实战问题 问题1:从Kafka消费数据导入 elasticsearch 时,批量 bulk 写入抛异常被拒绝。ES 集群四个节点,其中:两个节点node1和node4 thread pool bulk rejected 30多万条数据,es bulk thread pool 线程数8、队列200, Kafka写线程池 thread数2*cores+cores/2、队列数3。目前是想平衡一下写的速度和 es 处理的速度,不过现在还没有可用环境压测,想问有经验数据或方法参考吗?
1、需求 wx私信问题:Elasticsearch 如何实现类似百度广告置顶显示给定商品数据的效果? 置顶显示某特定数据就是:搜索某关键词,出现关联广告置顶显示的效果。 举例:百度搜索“电动汽车”,结果如下:
1、需求 有一批特定用途(文末揭晓)的 IP 地址。 想通过地图形式可视化展示 IP 地址对应的经纬度坐标的分布。
1、引言 2021年 Elasticsearch 生态和技术峰会已完美闭幕,本次峰会可谓大咖云集,精彩纷呈。 本文仅就下午场技术部分做一下梳理、提炼、总结,希望对没有来得及参加线上技术峰会的广大 Elastic 爱好者提供帮助。错过直播,但依然收获技术干货!
1、问题引出 默认情况下,Elasticsearch 已针对大多数用例进行了优化,确保在写入性能和查询性能之间取得平衡。我们将介绍一些聚合性能优化的可配置参数,其中部分改进是以牺牲写入性能为代价的。目标是将聚合优化招数汇总到一个易于消化的短文中,为大家的 Elasticsearch 集群聚合性能优化提供一些指导。
1、从两个实战问题开始.... 问题1:elasticsearch-head 插件索引文档数显示结果不一致?
1、Elasticsearch 缓存引出 Elasticsearch 查询的响应需要占用 CPU、内存资源,在复杂业务场景,会出现慢查询,需要花费大量的时间。 如何破局呢?增加集群硬件配置会有高昂硬件开销。还有没有其他方案呢?这时候会想到:缓存。 Elasticsearch 有哪些缓存,不同缓存的应用场景是什么呢?本文给出答案。
1、上问题 这是来自球友实战问题。 大致需求介绍如下: 约 3600 万的数据,其中关键字段如下所示:
题记 Multi-match query 的目的多字段匹配,但 Multi-match query 中的 best_fields, most_fields, cross_fields 分不清楚,都什么含义? 下面我们一一举例解读。
Elastic 官方已经取消了认证考试报名优惠活动。 也就是说:2018 年、2019 年搞过的 75折、半价活动以后都不会有了。 Elastic 官方邮件回复如下:
1、实战问题 最近社区里有多个关于区分大小写的问题: 问题1:ES查询和聚合怎么设置不区分大小写呢? 问题2:ES7.6 如何实现模糊查询不区分大小写? 主要是如何进行分词和mapping的一些设置来实现这个效果, 自己也尝试过对setting 和 mapping字段进行设置,都是报错比较着急, 类似的问题,既然有很多同学问到,那么咱们就有必要梳理出完整的思路和方案。 这或许是铭毅天下公众号的使命所在。 这个问题不复杂,所以本文会言简意赅,直击要害!
1、引言 实战业务场景中,经常会遇到定义空值、检索指定空值数据的情况。 这时候,当我们翻看官方文档 null_value 部分,会看到如下的描述: Accepts a string value which is substituted for any explicit null values. Defaults to null, which means the field is treated as missing. 接受一个字符串值替换所有显式的空值。默认为null,这意味着该字段被视为丢失。 A null value cannot be indexed or searched. W
Elasticsearch 集群在运行的过程中,由于各种原因,经常会出现健康问题。比较直观的是:kibana监控、head插件监控显示集群非绿色(红色或者黄色)。
1、实战问题来源 问题1:大佬们 GET /_nodes/hot_threads 查看热线程的这个API有没有讲解请求结果的文章呢?返回一堆堆栈看不懂...... 问题2:ES集群就一台机器 CPU 爆高,但IO、heap_mem都正常。咋搞?hot_thread 我查了,报了一坨,SOS 死磕 Elasticsearch 知识星球微信群
1、线上实战提问 Elasticsearch做模版查询的时候,在使用 terms 进行批量查询的时候放入数组在模版中进行查询失败,类似于模版传入数组该如何实现? 问题来源:死磕Elasticsearch知识星球
线上实战问题 1 1、知识点 脚本的使用 2、问题描述: 你好,我想问一下,在 ES 里我想把两个字段的值是一样的查出来。 但是其中一个字段是在一个字典里的,我该怎么写啊?
0、题记 在写繁重的业务场景下,你是否遇到过 Elasticsearch 集群的性能问题? 你是否遇到过 Elasticsearch 数据索引化速度限制问题? 你是否遇到过搜索花费时间太长而无法执行的延迟问题? 你是否遭遇过 Elasticsearch 集群故障排查的挑战? 你是否努力尝试在零停机情况下提高 Elasticsearch 集群的稳定性? 你是否想过从监控的角度去看Elasticsearch 关键指标? 如果你对以上任何一个问题的回答为“是”,那么本文适合你。 我将介绍一些有关故障排除和解决 Elasticsearch 性能问题的经验。 到本文结尾,你应该对关键指标
近知识星球里几个问题都问到了 doc values、store field、fielddata 等的概念。 问题1:”群主有介绍 doc value, field data, store fields 比较好的文章么?一直感觉有点模糊“ 问题2:“请教下星主关于ES存储相关的问题, 一个文档有如下几个地方可能会存储: 倒排索引。 Source 字段。 store 存储(如果开启) doc_values。 不知道我理解的是否正确? 如果这几个地方都存储, 那是不是可以理解为数据大致会膨胀了4倍? 死磕 Elasticsearch 知识星球(http://t.cn/RmwM3N9
0、背景 Elasticsearch 具有一组丰富的易于理解的 REST API,这些 API 均可如下几种方式通过 HTTP 调用进行访问。 Curl Postman head 插件 cerebro 工具 kibana 开发实战环节,我推荐使用:kibana Dev-tools。
1、开发不能联网怎么访问Elasticsearch文档? 这是最近被频繁问到的问题。直接上个图:
球友反馈的实战问题: 关于es的运维相关的, 遇到一些问题! 第一个问题:是关于集群迁移的,目前需要 针对20亿的数据做迁移,如果文件迁移,需要停机时间太久,除了重新灌入,不知 道有没有更好的方式? 第二个问题:我们es集群的读写都很频繁,如何把控在相互不影响性能,当前情况是会有相互影响! 第三个问题:之前做版本升级,升级后部分分片不可用,但是不知道什么原因导致?
Elasticsearch 社区有大量关于 Elasticsearch 错误和异常的问题。 深挖这些错误背后的原因,把常见的错误积累为自己的实战经验甚至是工具,不仅可以节省我们的开发和运维时间,而且可以帮助确保 Elasticsearch 集群的长期健康运行。 常见的异常、原因和常规最佳实践拆解如下,这些最佳实践可以帮助我们更有效地识别、最小化定位和处理异常问题。
1、实战开发遇到聚合问题 请教一个问题,ES 在聚合的时候发生了一个奇怪的现象聚合的语句里面size设置为10和大于10导致聚合的数量不一致,这个size不就是返回的条数吗?会影响统计结果吗?dsl语句摘要(手机敲不方便,双引号就不写了): aggs:{topcount:{terms:{field:xx,size:10}}} 就是这个size,设置10和大于10将会导致聚合结果不一样,难道是es5.x的bug吗? 以上是实战中的真实问题,基于这个问题,有了本篇文章。 本文探讨的聚合主要指:terms 分桶聚合。下图为分桶 terms 聚合示意图。
关于 Elastic 认证考试,官方文档已经提供了详尽的 Elastic Certification FAQ, 详细地址:https://www.elastic.co/cn/training/certification/faq 近一年,有以下 Elastic 认证相关问题经常被问到。特整理出来,希望对更多需要认证考试的朋友有所帮助。 1、英语不ok,可以参加 Elastic 认证考试吗? 考试的时候可以使用谷歌翻译。 以下是一位通过朋友的最新(2020-06-09)反馈:
我一搜不要紧:聊天记录中涉及“默认”关键词的讨论接近 400 多处。 这些默认值对于架构选型、开发实战、运维排查性能问题等都有很好的借鉴价值,虽官方文档都有详细论述,但散落在各个角度。 处于本能的好奇心,我认为非常有必要结合自己的实战经历梳理出 Elasticsearch 最常用的默认值的适用场景、参数、默认值大小、静态/动态参数类型、实战建议等知识点。