ElasticSearch
文章平均质量分 92
搜索引擎
迪崽~
I do what I love.
展开
-
ES 的聚合机制和模糊匹配
一、 Elasticsearch对于大数据量(上亿量级)的聚合如何实现?Elasticsearch 提供的首个近似聚合是cardinality 度量。它提供一个字段的基数,即该字段的distinct或者unique值的数目。它是基于HLL算法的。HLL 会先对我们的输入作哈希运算,然后根据哈希运算的结果中的 bits 做概率估算从而得到基数。其特点是:可配置的精度,用来控制内存的使用(更精确 = 更多内存);小的数据集精度是非常高的;我们可以通过配置参数,来设置去重需要的固定内存使用量。无论数千还是数十亿原创 2021-04-05 15:49:03 · 3958 阅读 · 0 评论 -
ES 的分页搜索和相关性评分机制
一、ES 搜索分页机制1.1 分页查询ES在作为数据库查询时,少不了使用ES的分页功能。由于ES是一个分布式的文档存储系统,生产环境中,通常使用的是ES集群对应用提供搜索服务,在集群中,一个索引的数据会被分布在不同的shard上,而不同的分片又会被分布在不同的节点上,搜索某一个索引中的数据时,如果涉及到分页操作,ES就会将不同节点上被搜索的索引对应的数据取出来,作为一个全局的结果集,然后对这个全局结果集使用相关度分数排序,并按照分页的参数取出特定页码上的数据,最后返回。Elasticsearch分页搜索原创 2021-04-04 22:29:23 · 1289 阅读 · 0 评论 -
ES 底层原理
一、分布式节点1、client 客户端节点(协调节点)当主节点和数据节点配置都设置为false的时候,该节点只能处理路由请求,处理搜索,分发索引操作等,从本质上来说该客户节点表现为智能负载平衡器。独立的客户端节点在一个比较大的集群中是非常有用的,协调主节点和数据节点,客户端节点加入集群可以得到集群的状态,根据集群的状态可以直接路由请求。大多数情况下不需要专用的协调节点,协调节点的功能可以由主节点或数据节点来完成,中小型集群中,专门的协调节点的并没有专用的数据节点必要。主要功能:负责任务分发和结果汇聚原创 2021-04-03 17:18:24 · 4983 阅读 · 0 评论 -
ES 基本原理
ElasticSearch原理一、ES的适用场景1、ES的主要应用分为两大类:搜索类(带上聚合),考虑事务性,频繁更新,与现有数据库进行同步,通过ES进行查询聚合。日志类,包括日志收集,指标性收集,通过beats等工具收集到kafka等Q中,通过logstash进行转换,输送到ES中,然后通过Kibana进行展示。MySQL作为开源关系型数据库,应用范围非常广泛,非常适合于结构化数据存储和查询。在数据查询场景下,默认返回所有满足匹配条件的记录;如果业务数据为结构化数据,同时不需要特别关注排名和原创 2021-04-03 16:56:06 · 10558 阅读 · 0 评论