暂时未有相关云产品技术能力~
暂无个人介绍
ChatGPT-4: 半年的深度使用思考
高维向量搜索:在 Elasticsearch 8.X 中利用 dense_vector 的实战探索
MetricBeat + Elasticsearch + Kibana 实现监控指标可视化
这是上一次技术直播里六个子主题中的最后一个主题的扩展版本。近期又有读者问到类似问题,我认为非常有必要花长时间梳理后跟大家分享一下。
1、为什么要梳理学习路线图? 在关注Elastic 中文社区、QQ群、星球群的过程中,多多少少都会有一些基础问题冒出。而这些问题不复杂,多半都在官方文档中都有提及,稍稍复杂的在官方英文社区、中文社区都有过类似问题的讨论。 基本上通过Google、bing都能直接或间接搜索到答案。
1、场景—:使用Elasticsearch作为主要的后端 传统项目中,搜索引擎是部署在成熟的数据存储的顶部,以提供快速且相关的搜索能力。这是因为早期的搜索引擎不能提供耐用的存储或其他经常需要的功能,如统计。
1、Elasticsearch 异步搜索定义 异步搜索 API 可异步执行搜索请求、监控其进度并检索可用的部分结果。 如下的官方介绍动画,能更加生动的介绍清楚异步检索。 传统检索 VS 异步检索,在数据量比较大时: 传统检索可能导致超时,以至于无数据返回;或者需要等待很久,用户体验差。 异步检索,可以快速响应数据,用户无需等待。
1、词频相关实战问题 最近词频统计问题被问到的非常多,词频统计问题清单如下:
1、当我们在说 Elasticsearch 检索性能优化的时候,实际在说什么?! 检索响应慢! 并发检索用户多时,响应时间不达标 卡死了! 怎么还没有出结果? 怎么这么慢? 为啥竞品产品的很快就返回结果了? 宕机了
1、什么是相似推荐? 拿我们身边的算法“投喂”为主的头条、抖音、微信视频号等举例,如果你喜欢乒乓球,每天推送给你的都是乒乓球比赛视频集锦;如果你喜欢成功人士演讲,每天都是马云、马化腾、刘强东等商业巨鳄的演讲。 再拿电商的示例如下:比如我近期购买的吴军老师推荐的科普经典巨著《从一到无穷大》,京东会给我推荐樊登读书带火的书《微积分原理》。
老大,请教个问题。你用painless操作过@timestamp字段吗?比如我获取了当前timestamp后,想要减去5分钟, 这个怎么写?ctx._source['@timestamp'] 是get当前的timestamp,后面operator要怎么写?
1、实战问题 实战业务中,遇到数据导入后,但发现缺少部分必要字段,一般怎么解决? 比如:emotion 代表情感值,取值范围为:0-1000。 其中:300-700 代表中性;0-300 代表负面;700-1000 代表正面。 但实际业务中,我们需要:中性:0;负面:-1;正面:1。 如何实现呢?
每个人都会犯错,别再让相同的错误一再发生,别再让我们为那些错误付出沉痛的代价。 清单不是写在纸上的,而是印在心上的。我们别无选择,清单,正在一步步变革我们的生活,变革这个复杂的世界...... ——[美] 阿图-葛尔德《清单革命》
本文是在以下 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插件监控显示集群非绿色(红色或者黄色)。