21 小时前 / HueiFeng
点击卡片,关注我们 由于近期在公司内部做了一次 Elasticsearch 的分享,所以本篇主要是做一个总结,希望通过这篇文章能让读者大致了解 Elasticsearch 是做什么的以及它的使用和基本原理。 生活中的数据 搜索引擎是对数据的检索,所以我们先从生活中的数据说起。我们生活中的数据总体分为两种: 结构化数据 非结构化数据 结构化数据:也称作行数据,是由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。指具有固定格式或有限长度的数据,如数据库,元数据等。
7 天前 / 进击的强
动手点关注干货不迷路 背景领域特定语言(DSL),如 SQL、Elasticsearch Querystring 等,往往是为专门的目的设计的。在特定的任务中,DSL 通过在表达能力上做的妥协换取在某一领域内的高效。 在飞书套件日志系统的私有化研发过程中,为了符合研发同学查询日志的习惯,尝试使用 Elasticquery Querystring(下简称为 Querystring)作为过滤器的查询条件语句,由此需要可用的 Golang Querystring 解析器。由于目前开源界无法找到完善的实现,尝试使用 Goyacc 自行构建。
17 天前 / BloomingRose
问题:慢查询 搜索平台的公共集群,由于业务众多,对业务的 es 查询语法缺少约束,导致问题频发。业务可能写了一个巨大的查询直接把集群打挂掉,但是我们平台人力投入有限,也不可能一条条去审核业务的 es 查询语法,只能通过后置的手段去保证整个集群的稳定性,通过 slowlog 分析等,下图中 cpu 已经 100% 了。 昨天刚好手头有一点点时间,就想着能不能针对这些情况,把影响最坏的业务抓出来,进行一些改善,于是昨天花了 2 小时分析了一下,找到了一些共性的问题,可以通过平台来很好的改善这些情况。
32 天前 / 趣编程
近期“知网”的热度一直不减,本来可以拿一些热点图片、网友评论作为开场。算了,这不是我一个技术博主该做的。 此处仅拿 2022 年 5 月 24 日早晨 6:00 微博搜索“知网”得到的前 20 条动态信息的词云说话。 基于 ik_smart 中文分词器的词云图在网友不建议专家建议的大环境下,作为老百姓对“知网”的建议如下: 1、尊重版权,每篇文档被下载(人工备案下载,非爬虫)获得的收益一半(比例待商榷)费用给第一作者,这会极大的激发大家的创作动力。 2、将文章收益、被引用次数等作为未来文章评价指标。
33 天前 / 逗逗
每天早上七点三十,准时推送干货 一、简介 Elasticsearch(简称 ES)是一个基于 Apache Lucene的开源搜索引擎,无论在开源还是专有领域,Lucene 可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。 对于初次接触 Elasticsearch,不禁会发出一个疑问,Elasticsearch 是干啥的? 官方的解释如下:Elasticsearch(简称 ES)是一个基于 Apache Lucene 的开源搜索引擎,它提供了一个基于 RESTful web 接口的分布式多用户能力的全文搜索引擎,能够达到实时搜索、稳定、可靠、快速、安装使用方便等特点。
53 天前 / 铭毅天下001
1、Elasticsearch 保证高可用性的方式 Elasticsearch 保证集群高可用的方式包含但不限于如下三种: 方式一:副本分片。主分片失效后,副本分片会被提升为主分片。方式二:跨集群复制主从同步。简称:CCR,指的是索引数据从一个 Elasticsearch 集群复制到另一个 Elasticsearch 集群。对于主集群的索引数据的任何修改都会直接复制同步到从索引集群。方式三:快照。快照在给定时刻对集群或者索引按了暂停键且拍摄了当时的全部“照片”。这样,当在之后的某个时间点,倘若集群或索引出现故障,可以基于之前的快照进行快速恢复。
63 天前 / 逗逗
0、题记我在做 Elasticsearch 相关咨询和培训过程中,发现大家普遍更关注实战中涉及的问题,下面我选取几个常见且典型的问题,和大家一起分析一下。订单表、账单表父子文档可以实现类似 SQL 的左连接吗?通过 canal 同步到 ES 中,能否实现类似左连接的效果?具体应该如何建模?一个人管理 1000 家连锁门店,如何更高效地查询自己管辖的商品类目?企微 一个人维护了 1000 个员工,如何快速查询自己管辖的员工信息?随着业务的增长,一个索引的字段数据不断膨胀(商品场景变化,业务一直加字段),有什么解决方法?一个索引字段个数设置为 1500 个...
64 天前 / 趣编程
作者:lynneyli,腾讯 IEG 运营开发工程师 Elasticsearch(简称:ES)功能强大,其背后有很多默认值,或者默认操作。这些操作优劣并存,优势在于我们可以迅速上手使用 ES,劣势在于,其实这些默认值的背后涉及到很多底层原理,怎么做更合适,只有数据使用者知道。用 ES 的话来说,你比 ES 更懂你的数据,但一些配置信息、限制信息,还是需要在了解了 ES 的功能之后进行人工限制。 你是否遇到:在使用了一段时间 ES 之后,期望使用 ES 的其他功能,例如聚合、排序,但因为字段类型受限,无奈只能进行 reindex 等一系列问题? 题主在遇到一些问题后...
70 天前 / 趣编程
之前在 DSL 中一次问卷调查中,收集到如下几个和搜索类型相关的问题。 Q1:麻烦讲一下 es 常用的查询关键词,及使用场景,比如 term、match、should、filter 等等,谢谢老大。.....Q2:讲下查询 term,match,match_pharse,operator,mget,multi_match 等的用法和区别?Q3:term、match、phrase、bool query 等常用语法,及对不同类型数据字段的支持。在分词场景下的区别?Q4:fuzzy 查询的 fuzziness 参数不同取值,minimumshouldmatch 不同取值负数,百分比等…...Q5:希望可以通俗一点。
78 天前 / 趣编程
如下问题来自真实场景,用对话方式模拟还原问题解答过程。 小明同学提问:铭毅老湿,如下两个链接,我们底层的数据是带空格的,但是用户输入可能不带空格这种改怎么处理? http://192.168.1.1/sr/6mm/ http://192.168.1.1/sr/6%20mm/ 铭毅老湿:上面两个链接是用户的行为?我们不能限制用户的输入是吧? 小明同学:是哦,让用户输入字符加空格或者不加空格去适配写入的数据,这样会显得系统很不“智能”,用户体验会很差。 铭毅老湿:你能关注用户体验,不错!这是程序员必备的思维方式。
107 天前 / 趣编程
1、引言本系列文章介绍如何修复 Elasticsearch 集群的常见错误和问题。 这是系列文章的第六篇,主要探讨:Elasticsearch 集群状态变成黄色或者红色,怎么办? 第一篇:Elasticsearch 磁盘使用率超过警戒水位线,怎么办? 第二篇:Elasitcsearch CPU 使用率突然飙升,怎么办? 第三篇:Elasticsearch 断路器报错,怎么办? 第四篇:Elasticsearch JVM 堆内存使用率飙升,怎么办? 第五篇:Elasticsearch 出现 “429 rejected” 报错,怎么办? 2、集群健康状态之红色或黄色含义红色或黄色集群状态表示一个或多个分片丢失或未分配。
113 天前 / 趣编程
1、实战线上 Nested 问题如何查询所有 objectList (Nested 类型)里面的 lossStatus="ENABLE" 且 objectList 的数组大小大于 2 的数据? ——问题来源:死磕 Elasticsearch 知识星球 2、数据模型索引导入和样例数据批量写入如下所示。 PUTappweb { "mappings":{ "properties":{ "name":{ "type":"text" }, "orderTime":{ "type":"date", "format":"yyyy-MM-ddHH:mm:ss" }, "objectList":{ "type":"nested", "properties":{ "addTime":{ "type":"date", "format":"yyyy-MM-ddHH:mm:ss" }, "customerPersonId":{ "type":"long" }, "lossStatus":{ "type":"t...
127 天前 / 趣编程
1、引言本系列文章介绍如何修复 Elasticsearch 集群的常见错误和问题。 这是系列文章的第四篇,主要探讨:Elasticsearch JVM 堆内存使用率飙升,怎么办? 第一篇:Elasticsearch 磁盘使用率超过警戒水位线,怎么办? 第二篇:Elasitcsearch CPU 使用率突然飙升,怎么办? 第三篇:Elasticsearch 断路器报错,怎么办? 2、症状:高 JVM 内存使用率高 JVM 内存使用率会降低集群性能并触发断路器错误(导致内存熔断)。 为了防止这种情况发生,如果节点的 JVM 内存使用率持续超过 85%,官方建议采取措施降低内存压力。
133 天前 / 趣编程
1、引言本系列文章介绍如何修复 Elasticsearch 集群的常见错误和问题。 这是系列文章的第三篇,主要探讨:Elasticsearch 断路器报错了,怎么办? 第一篇:Elasticsearch 磁盘使用率超过警戒水位线,怎么办? 第二篇:Elasitcsearch CPU 使用率突然飙升,怎么办? 2、 啥是断路器?断路器(circuit breakers)都指定了它可以使用内存的限制。 Elasticsearch 包含多个断路器,用于防止操作导致内存泄露错误(OutOfMemoryError)。 此外,还有一个父级断路器(parent-level breaker),规定了所有断路器可以使用的内存总量。
135 天前 / 趣编程
1、Elastic 8.0 正式发布 2022 年 2 月 11 日,Elastic 8.0 正式发布。 Elastic 官方宣告:从此 Elastic 进入速度、规模、相关性和简单性的新时代! 这是距离 7.0 版本发布(2019 年 4 月 10 日)超过 1038 天(近 3 年)后的第一个大版本; 这是 7.X 版本更新了 17 个版本(7.0——7.17)后的第一个大版本; 这是 Elastic 创始人 Shay Banon 从 CEO 回归 CTO 发布的第一个大版本; 这是基于 Lucene 9.0 的第一个版本; ....... 所以,Elastic 8.0 版本万众瞩目、非常期待! 2、宏观看 Elastic 8.0 新特性可以简记为: 一个创新(NLP);一个增强(向量检索...