
【ES-Elasticsearch】
文章平均质量分 89
es 从入门到精通,知识点全覆盖 ,原理分析解读
小小工匠
show me the code ,change the world
展开
-
ElasticSearch - 深入解析 Elasticsearch Composite Aggregation 的分页与去重机制
在 Elasticsearch 中,提供了一种高效的分页聚合方式,尤其适用于数据量较大的场景。为了避免传统分页中常见的重复数据问题,引入了after参数。本文将详细探讨after参数的机制,以及它如何确保数据不重复。传统分页 (fromsizeComposite Aggregation (游标)基于偏移计算,容易因数据变动重复基于游标,桶的顺序和定位稳定无重复数据量大时性能下降明显高效处理大数据,避免偏移的性能开销不支持跨分片排序跨分片排序一致性,返回结果无重复或遗漏使用基于after_key。原创 2024-12-23 19:39:24 · 3198 阅读 · 0 评论 -
ElasticSearch - 理解doc Values与Inverted Index倒排索引
在使用 Elasticsearch 进行大规模搜索和数据分析时,doc_values和倒排索引是两个非常重要但又截然不同的概念。它们都在不同的场景下发挥着关键作用,因此理解它们的区别和联系,对于优化搜索和分析性能至关重要。原创 2024-12-11 14:45:00 · 2904 阅读 · 0 评论 -
ElasticSearch - 使用 Bucket Sort 聚合进行桶排序
在 Elasticsearch 中,聚合是一种父管道聚合(Parent Pipeline Aggregation),用于对其父多桶聚合的桶进行排序。可以指定一个或多个排序字段,并根据这些字段对桶进行排序。每个桶可以基于其_key_count或其子聚合进行排序。此外,还可以设置from和size参数,以限制返回的桶的数量。聚合会在所有非管道聚合执行后进行排序。这意味着排序只会应用于从父聚合中返回的桶。例如,如果父聚合是terms聚合,并且其size设置为 10,那么聚合只会对这 10 个返回的term。原创 2024-12-10 23:19:25 · 3013 阅读 · 0 评论 -
ElasticSearch - 使用 Composite Aggregation 实现桶的分页查询
当需要分页查询大量的桶时composite 聚合可以通过分页的方式逐步获取桶结果,避免一次性返回大量的桶。与传统分页方法不同,并不基于结果的偏移量(offset),而是基于聚合桶的游标机制来实现分页,从而避免了性能瓶颈。是 Elasticsearch 中的一种特殊聚合方式,适用于需要分页展示的聚合结果。它与传统的聚合方式不同,采用了基于游标的分页模型。不依赖from和size来进行分页,而是通过after参数来指定从某个特定桶之后开始返回数据,从而实现分页。原创 2024-12-10 23:12:34 · 3199 阅读 · 0 评论 -
ElasticSearch - Bucket Script 使用指南
是 ElasticSearch 中一种强大的管道聚合(pipeline aggregation),允许你基于已有的聚合结果执行数学计算。它用于对多个桶(buckets)内的数据进行后处理,适合在聚合结果上进行进一步计算,比如计算比率、加权平均等。原创 2024-10-29 19:15:00 · 3700 阅读 · 0 评论 -
ElasticSearch - Bucket Selector使用指南
是 ElasticSearch 中的一种聚合管道(Pipeline Aggregation),用于对已生成的聚合桶(bucket)进行后处理。它允许根据聚合结果动态过滤和选择桶,从而帮助用户更精确地控制查询结果。是 ElasticSearch 中用于后处理聚合桶的强大工具,可以根据聚合计算的结果动态地筛选出感兴趣的桶。它在数据分析和可视化中非常有用,可以帮助用户精准控制查询结果。原创 2024-10-29 11:55:44 · 3422 阅读 · 0 评论 -
ElasticSearch - 删除已经设置的认证密码(7.x)
删除Elasticsearch密码虽然可以简化测试环境,但应小心操作,确保在生产环境中保持严格的安全配置。在生产环境中,应始终保持和增强Elasticsearch的安全配置,以确保数据的完整性和安全性。首先,确认您的Elasticsearch集群是否启用了安全性功能。您可以通过检查配置文件。在修改配置文件前,首先需要停止Elasticsearch服务。ES 8.x ,可以使用Elasticsearch提供的。如果返回了集群的状态信息而未要求认证信息,说明配置已生效。,移除或注释掉与安全相关的配置。原创 2024-05-21 19:45:00 · 5862 阅读 · 0 评论 -
ElasticSearch - 海量数据索引拆分的一些思考
本次主要通过索引的拆分与合并,来提升查询性能,同时降低整体集群的资源使用量。过程中我们探索了在线数据的跨集群迁移,多索引联合查询的应用,数据写入的同步异步切换等,希望能够为大家提供解决 ES 大规模数据检索的瓶颈,提供参考。虽然本次相对比较平滑的完成了索引的拆分,但是需要耗费大量的开发和测试资源。伴随业务的快速发展,遇到数据瓶颈的业务线,可能有会逐渐增多,如果届时每个业务域要独自开发和测试,成本还是相对较高的。原创 2023-08-26 19:33:58 · 11717 阅读 · 0 评论 -
Elasticsearch - 闲聊ElasticSearch中的分页
ElasticSearch是一款强大的搜索引擎,它能够帮助我们快速地搜索海量数据。然而,在处理大量数据时,ElasticSearch的性能可能会受到影响。其中一个常见的问题是深度分页,也就是当我们需要获取大量数据时,ElasticSearch需要处理的数据量太大,导致性能下降。Elasticsearch 深度分页问题的本质是在进行分页查询时,由于每个分片都需要生成大量的数据,并将这些数据发送到协调节点进行汇总,因此随着查询深度的增加,每个分片需要生成的数据条数也越来越大,从而导致查询效率降低。原创 2023-08-15 06:45:00 · 10707 阅读 · 0 评论 -
Elasticsearch - 聚合获取原始数据并分页&排序&模糊查询
ES版本:7.6.需要按照主机ID 进行告警时间的汇总,并且还得把主机相关的信息展示出来。注: 所有的数据都存在索引中, 通过一个DSL查询展示实际上就是将terms聚合的结果以列表形式分页展示。原创 2023-05-11 06:30:00 · 21104 阅读 · 0 评论 -
Elasticsearch - Configuring security in Elasticsearch 开启用户名和密码访问
ES版本:7.6官方指导手册:翻译一下:验证当前版本是否支持安全功能是否打开安全设置基于FIPS的一些验证配置节点间通讯传输的安全性配置内置用户的密码选择用户验证用户身份的领域类型设置角色和用户以控制对Elasticsearch的访问启用审核以跟踪与Elasticsearch集群的尝试和成功的交互如果只是启用账号密码, 只需要如下几个步骤验证当前版本是否支持安全功能是否打开安全设置配置节点间通讯传输的安全性配置内置用户的密码。原创 2023-02-17 22:30:00 · 26778 阅读 · 0 评论 -
Elasticsearch - cluster_block_exception [FORBIDDEN/12/index read-only / allow delete (api)]
文章目录ErrorError{ "error": "{\"type\":\"cluster_block_exception\",\"reason\":\"blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];\"}", "errorReason": "blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];", "errorType"原创 2021-05-14 17:07:14 · 20628 阅读 · 2 评论 -
Elasticsearch-circuit_breaking_exception [parent] Data too large, data for [<http_request>]
文章目录异常信息异常信息{"root_cause":[{"type":"circuit_breaking_exception","reason":"[parent] Data too large, data for [<http_request>] would be [2904434582/2.7gb], which is larger than the limit of [2856189952/2.6gb], real usage: [2904434088/2.7gb],new原创 2021-02-07 14:09:31 · 19172 阅读 · 1 评论 -
白话Elasticsearch27-深度探秘搜索技术之误拼写时的fuzzy模糊搜索技术
文章目录官方指导例子推荐写法官方指导https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-fuzzy-query.html官方Blog : https://www.elastic.co/blog/found-fuzzy-search 强烈推荐例子我们知道,搜索的时候,可能输入的搜索...原创 2019-08-06 23:51:37 · 14264 阅读 · 0 评论 -
白话Elasticsearch73_ES生产集群中的索引管理02
文章目录概述官方指导1、mapping管理2、索引别名管理3、index settings管理4、index template管理概述继续跟中华石杉老师学习ES,第74篇课程地址: https://www.roncoo.com/view/55官方指导Index APIs: https://www.elastic.co/guide/en/elasticsearch/reference...原创 2020-01-25 01:57:10 · 14301 阅读 · 0 评论 -
白话Elasticsearch73_ES生产集群中的索引管理01
文章目录概述官方指导1、创建索引(1)创建索引的语法(2)索引创建返回消息的解释2、删除索引3、查询索引设置信息4、 Index 是否存在5、打开/关闭索引5、压缩索引6、rollover indexAdd > 1000 documents to logs-000001Wait for a day to pass概述继续跟中华石杉老师学习ES,第73篇课程地址: https://w...原创 2020-01-23 01:46:22 · 14263 阅读 · 0 评论 -
白话Elasticsearch72_利用HDFS备份与恢复ES生产集群的数据
文章目录概述hadoop hdfs分布式文件存储系统介绍概述继续跟中华石杉老师学习ES,第72篇课程地址: https://www.roncoo.com/view/55本篇博文不会涉及非常详细的操作步骤,仅把备份与恢复的关键步骤记录,等后续有真正的使用场景的时候,再来实操。hadoop hdfs分布式文件存储系统介绍简单介绍下Hadoop生态圈中非常常用的几个组件:hdfs...原创 2020-01-22 21:53:10 · 14786 阅读 · 0 评论 -
Elasticsearch-Jest 配置ES集群&源码解读
文章目录Jest Github地址搭建源码环境遇到的问题Jest Github地址直接访问 https://github.com/searchbox-io/Jest ,把源码拉下来搭建源码环境我拉了个5.3.4的版本,最新版本为6.3.1 ,大同小异test 这个module是我自己写的测试集群代码,GitHub上是没有这个的 .遇到的问题说下背景, 老项目 升级 , ...原创 2020-01-19 22:23:02 · 16639 阅读 · 1 评论 -
白话Elasticsearch71-ES生产集群部署之各个节点以daemon模式运行以及优雅关闭
文章目录概述官方指导启动 ES优雅的关闭es概述继续跟中华石杉老师学习ES,第71篇课程地址: https://www.roncoo.com/view/55官方指导启动ES https://www.elastic.co/guide/en/elasticsearch/reference/current/starting-elasticsearch.html#starting-elas...原创 2020-01-19 00:07:53 · 15997 阅读 · 0 评论 -
白话Elasticsearch70-ES生产集群部署之production mode下启动时的bootstrap check
文章目录概述官方文档什么是bootstrap check(启动时检查)?development mode vs. production modeheap size checkfile descriptor checkmaximum number of thread checkMax file size checkmaximum size virtual memory checkmaximum ma...原创 2020-01-18 23:29:23 · 14286 阅读 · 0 评论 -
白话Elasticsearch69-ES生产集群部署重要的 Elasticsearch参数设置
文章目录ES的重要参数设置官方文档Path settingsCluster nameNode nameNetwork hostDiscovery settingsHeap sizeHeap dump pathGC loggingTemp directoryES的重要参数设置官方文档https://www.elastic.co/guide/en/elasticsearch/referen...原创 2020-01-18 22:24:53 · 14508 阅读 · 0 评论 -
白话Elasticsearch68-ES生产集群部署重要的操作系统设置
文章目录概述系统的重要配置开发模式 vs 生产模式概述继续跟中华石杉老师学习ES,第68篇课程地址: https://www.roncoo.com/view/55系统的重要配置理想情况下,es应该单独在一个服务器上运行,能够使用服务器上的所有资源。为了达到上述目标,我们需要配置操作系统,来允许用户运行es并且获取比默认情况下更多的资源。在生产环境中下面的一些设置必须配置一下:(...原创 2020-01-18 16:53:46 · 14831 阅读 · 1 评论 -
白话Elasticsearch67-不随意调节jvm和thread pool的原因&jvm和服务器内存分配的最佳实践
文章目录不随意调节jvm和thread pool的原因jvm gcthreadpooljvm和服务器内存分配的最佳实践jvm heap分配将机器上少于一半的内存分配给es不要给jvm分配超过32G内存在32G以内的话具体应该设置heap为多大?对于有1TB内存的超大内存机器该如何分配?swapping不随意调节jvm和thread pool的原因es中有很多的配置都让大家忍不住去调优,因为...原创 2020-01-16 23:33:42 · 14354 阅读 · 0 评论 -
白话Elasticsearch66-针对集群重启时的shard恢复耗时过长问题定制的重要参数
文章目录概述集群重启时的无意义shard重分配问题shard recovery配置概述继续跟中华石杉老师学习ES,第66篇课程地址: https://www.roncoo.com/view/55集群重启时的无意义shard重分配问题在集群重启的时候,有一些配置会影响shard恢复的过程。首先,我们需要理解默认配置下,shard恢复过程会发生什么事情。如果我们有10个node,...原创 2020-01-16 22:15:16 · 14479 阅读 · 0 评论 -
白话Elasticsearch65-最少master候选节点以及ES集群脑裂问题
文章目录概述脑裂的成因分析概述继续跟中华石杉老师学习ES,第65篇课程地址: https://www.roncoo.com/view/55脑裂的成因分析如果因为网络的故障,导致一个集群被划分成了两片,每片都有多个node,以及一个master,那么集群中就出现了两个master了...转载 2020-01-15 23:56:15 · 9983 阅读 · 0 评论 -
白话Elasticsearch64-zen discovery集群发现机制
文章目录概述zen discovery集群发现机制cluster.name(1)ping(2)unicast概述继续跟中华石杉老师学习ES,第64篇课程地址: https://www.roncoo.com/view/55zen discovery集群发现机制Q: 现在有多台主机,每台机器部署一个es进程,每台机器都启动一个es进程,你怎么让多台机器上的多个es进程,互相发现对方,然...原创 2020-01-15 22:26:13 · 15635 阅读 · 0 评论 -
白话Elasticsearch63-生产集群部署之硬件配置、jvm以及集群规划建议
文章目录概述内存CPU磁盘网络自建集群 vs 云部署JVM容量规划概述继续跟中华石杉老师学习ES,第63篇课程地址: https://www.roncoo.com/view/55内存es吃内存,es吃的主要不是你的jvm的内存,一般来说es用jvm heap(堆内存)还是用的比较少的,主要吃的是你的机器可用的剩余内存es底层基于lucene,lucene是基于磁盘文件来读写和保存...原创 2019-09-14 00:08:34 · 15174 阅读 · 0 评论 -
白话Elasticsearch62-进阶篇之Highlighting高亮显示
文章目录概述官网示例概述继续跟中华石杉老师学习ES,第62篇课程地址: https://www.roncoo.com/view/55官网Highlighting: 戳这里示例原创 2019-09-13 15:18:11 · 19292 阅读 · 3 评论 -
白话Elasticsearch61-进阶篇之基于Term Vectors深入探查数据的情况
文章目录概述官网概述继续跟中华石杉老师学习ES,第61篇课程地址: https://www.roncoo.com/view/55官网Term Vectors: 戳这里 概括来说:Term Vectors就是 获取document中的某个field内的各个term的统计信息...原创 2019-09-04 22:20:54 · 14960 阅读 · 0 评论 -
白话Elasticsearch60-数据建模实战_Join datatype 父子关系数据建模
文章目录概述官网示例概述继续跟中华石杉老师学习ES,第60篇课程地址: https://www.roncoo.com/view/55官网Join datatype :戳这里其他详见官网解读示例...原创 2019-09-02 23:13:31 · 14350 阅读 · 0 评论 -
白话Elasticsearch59-数据建模实战_ Nested Aggregation/ Reverse nested Aggregation对嵌套的博客评论数据进行聚合分析
文章目录概述官网示例模拟数据需求一: 需求1: 按照评论日期进行bucket划分,然后拿到每个月的评论的评分的平均值需求二: 以年龄 10岁一个划分,看下都有哪些tagreverse_nested概述继续跟中华石杉老师学习ES,第59篇课程地址: https://www.roncoo.com/view/55官网Nested Aggregation:戳这里示例基于白话El...原创 2019-09-02 20:31:28 · 14973 阅读 · 0 评论 -
白话Elasticsearch57-数据建模之实现悲观锁并发控制的三种方式(未成功)
文章目录概述方式一:基于全局锁实现悲观锁并发控制方式二:基于document锁实现悲观锁并发控制方式三:基于共享锁和排他锁实现悲观锁并发控制概述继续跟中华石杉老师学习ES,第57篇课程地址: https://www.roncoo.com/view/55方式一:基于全局锁实现悲观锁并发控制课程大纲1、悲观锁的简要说明基于version的乐观锁并发控制在数据建模,结合文件系统建模...原创 2019-09-01 16:11:49 · 14193 阅读 · 0 评论 -
白话Elasticsearch56-数据建模之 Path Hierarchy Tokenizer 对文件系统进行数据建模以及文件搜索
文章目录概述官网概述继续跟中华石杉老师学习ES,第56篇课程地址: https://www.roncoo.com/view/55官网Path Hierarchy Tokenizer:戳这里Path Hierarchy Tokenizer Examples:戳这里...原创 2019-09-01 11:51:12 · 14811 阅读 · 1 评论 -
白话Elasticsearch55-数据建模之对每个用户发表的博客进行分组 (Top Hits Aggregation)
文章目录概述官网示例概述继续跟中华石杉老师学习ES,第53篇课程地址: https://www.roncoo.com/view/55官网示例需求: 对每个用户发表的博客进行分组模拟一批数据PUT /blogs2/blogs2/2{ "title": "2跟石杉老师学ES", "content": "2-second blog", "userInfo": {...原创 2019-08-31 20:45:14 · 14196 阅读 · 0 评论 -
白话Elasticsearch54-数据建模之通过【应用层join】或者【数据冗余】实现实现用户与博客的关联
文章目录概述关系型与document类型数据模型对比关系型数据库应用Modeles文档数据模型通过应用层join实现用户与博客的关联通过数据冗余实现用户与博客的关联概述继续跟中华石杉老师学习ES,第53篇课程地址: https://www.roncoo.com/view/55关系型与document类型数据模型对比举个例子: 部门和员工 ,1个部门下可以有N多个员工 ,部门:...原创 2019-08-31 10:30:10 · 14144 阅读 · 0 评论 -
白话Elasticsearch53-深入聚合数据分析之Collect Model_bucket优化机制:深度优先、广度优先
文章目录概述官网示例概述继续跟中华石杉老师学习ES,第53篇课程地址: https://www.roncoo.com/view/55官网Collect Model:戳这里示例当buckets数量特别多的时候,深度优先和广度优先如何选择?举个例子:每个演员的每个电影的评论每个演员的评论的数量 --> 每个演员的每个电影的评论的数量评论数量排名前10个的演员 ...原创 2019-08-30 23:39:23 · 14833 阅读 · 0 评论 -
白话Elasticsearch52-深入聚合数据分析之fielddata内存控制、circuit breaker短路器、fielddata filter、预加载机制以及序号标记预加载
文章目录概述官网fielddata核心原理fielddata内存限制监控fielddata内存使用circuit breakerfielddata filter的细粒度内存加载控制fielddata预加载机制以及序号标记预加载fielddata预加载 eager序号标记预加载 eager_global_ordinals概述继续跟中华石杉老师学习ES,第52篇课程地址: https://w...原创 2019-08-30 23:14:19 · 14793 阅读 · 1 评论 -
白话Elasticsearch51-深入聚合数据分析之text field聚合以及fielddata原理
文章目录概述官网示例对于分词的field执行aggregation,报错概述继续跟中华石杉老师学习ES,第51篇课程地址: https://www.roncoo.com/view/55官网fielddata: 戳这里示例对于分词的field执行aggregation,报错...原创 2019-08-29 22:31:36 · 14755 阅读 · 0 评论 -
白话Elasticsearch50-深入聚合数据分析之doc values机制
文章目录概述官网doc value原理(1)index-time生成(2)核心原理与倒排索引类似(3)性能问题:给jvm更少内存,64g服务器,给jvm最多16gcolumn压缩(1)所有值相同,直接保留单值(2)少于256个值,使用table encoding模式(3)大于256个值,看有没有最大公约数,有就除以最大公约数,然后保留这个最大公约数disable doc value概述继续...原创 2019-08-29 00:06:14 · 14046 阅读 · 0 评论 -
白话Elasticsearch50-深入聚合数据分析之基于doc values正排索引的聚合内部原理
文章目录概述思考知识点举例说明纯用倒排索引来实现的弊端倒排索引+正排索引(doc value)的原理和优势概述继续跟中华石杉老师学习ES,第50篇课程地址: https://www.roncoo.com/view/55思考聚合分析的内部原理是什么?当我们使用比如aggs,term,avg 、max等执行一个聚合操作的时候,内部原理是怎样的呢?用了什么样的数据结构去执行聚合?是不是用...原创 2019-08-28 00:23:50 · 14279 阅读 · 1 评论