![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
es
文章平均质量分 57
xyail66
不忘初心。
展开
-
es bucket和metric
1、ES 聚合的核心概念:桶(bucket)和指标(metric)桶(bucket): 满足特定条件的文档的集合指标(metric): 对桶内的文档进行聚合分析的操作聚合是由桶和指标组成的。聚合可能只有一个桶,可能只有一个指标,或者可能两个都有。转换成成对应的sql语句如下:select count() from Table_A group by FieldA其中:bucket 相当于 group by FieldA --> FieldA 字段内相同的数据,就会被划分到一个bucket中原创 2021-04-22 14:27:59 · 188 阅读 · 1 评论 -
es 嵌套查询
由于在ES中,所有单个文档的增删改都是原子性的操作,因此将相关的实体数据都储存在同一个文档是很好的,且由于所有信息都在一个文档中,因此当我们查询时就没有必要像mysql一样去关联很多张表,只要搜一遍文档就可以查出所有需要的数据,查询效率非常高因此除了基本数据类型之外,ES也支持使用复杂的数据类型,像是数组、内部对象,而要使用内部对象的话,需要使用nested来定义索引,使文档内可以包含一个内部对象。为什么不用object而要使用nested来定义索引的原因是:obejct类型会使得内部对象的关联性丢原创 2021-03-26 15:01:05 · 3376 阅读 · 0 评论 -
es 配置详解
配置文件详解# ---------------------------------- Cluster -----------------------------------cluster.name: elasticsearch配置es的集群名称,默认是elasticsearch,es会自动发现在同一网段下的es,如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。# ------------------------------------ Node -----------------.原创 2021-03-22 15:48:52 · 1530 阅读 · 0 评论 -
es shard和segment
Shard(分片) 一个Shard就是一个Lucene实例,是一个完整的搜索引擎。一个索引可以只包含一个Shard,只是一般情况下会用多个分片,可以拆分索引到不同的节点上,分担索引压力。segmentelasticsearch中的每个分片包含多个segment,每一个segment都是一个倒排索引;在查询的时,会把所有的segment查询结果汇总归并后最为最终的分片查询结果返回;在创建索引的时候,elasticsearch会把文档信息写到内存bugffer中(为...原创 2020-07-24 15:50:37 · 702 阅读 · 0 评论 -
es写入和搜索底层原理
写入数据的底层原理数据先写入到buffer里面,在buffer里面的数据时搜索不到的,同时将数据写入到translog日志文件之中 如果buffer快满了,或是一段时间之后,就会将buffer数据refresh到一个新的OS cache之中,然后每隔1秒,就会将OS cache的数据写入到segment file之中,但是如果每一秒钟没有新的数据到buffer之中,就会创建一个新的空的segment file,只要buffer中的数据被refresh到OS cache之中,就代表这个数据可以被搜索到了原创 2020-07-24 15:43:49 · 306 阅读 · 0 评论