Elasticsearch
hunter127
这个作者很懒,什么都没留下…
展开
-
elasticsearch源码目录结构说明
源码目录结构 1. distribution模块 distribution的英文分发的意思,这里是的作用是打包各类压缩发布包。要与distributed进行区别,它是分布式。打包方式如下图:点击build.grad...原创 2021-03-18 17:57:10 · 484 阅读 · 0 评论 -
MYSQL同步数据到ES
1.MYSQL的数据同步通常采用binlog进行同步。所有的数据库操作都会写binlog日志,所以采用binlog的方式去做数据复制是非常好的。2.比如要做ES的订单查询系统,可以使用binlog去做数据同步,当数据发生变化,数据量将会采用binglog的方式将数据写到ES达到同步的目的。3.工具:开源组件Canal。 go-mysql-elasticsearch...原创 2020-03-17 17:19:42 · 2298 阅读 · 0 评论 -
接手一个Elasticsearch集群,如何进行优化
1.从内存消耗上进行存储优化2.从磁盘上进行优化3.从搜索上进行优化4.从写入上进行优化5.从稳定性上进行优化6.从机器上进行优化内存优化:三种cache的优化:1)filter cache/query cache2)request cache 默认不开启,实时数据失效快,没开启一般不用优化3)fielddata cache与doc_valueses2...原创 2020-01-02 14:55:37 · 150 阅读 · 0 评论 -
ES分页理解
ES分片包括深层分页与游标分页。1.深层分页是可以设置 from与size。一旦设置了from与size,就会在每个分片上取回(from+size)数据到协调节点,由协调节点排序计算结果。这样对协调节点压力非常大,容易造成集群崩溃。2.使用Scroll API。游标遍历结果,每个分片持续发送结果给协调节点。使用scroll无法排序。原创 2018-02-05 10:31:44 · 350 阅读 · 0 评论 -
Elasticsearch 内存分配
1.只能分配机器的一半内存给Elasticsearch。另一半要给Lucene。Lucene存储于堆外内存。2.机器内存即使很充足,也不要分配内存超过32G给Elasticsearch,堆内存小于32G的时候会使用内存对象指针压缩技术。给31G最安全内存交换会强烈影响Elasticsearch性能。什么情况下会发生内存交换:机器内存不足时发生内存交换SWAP。...原创 2018-09-10 13:48:02 · 521 阅读 · 0 评论 -
Elasticsearch(源码编译)
1.下载elasticsearch-6.0.0-rc2源码包2.下载安装Gradle,并且配置环境变量3.修改maven源,使用阿里的网速好,修改以下两个文件 elasticsearch\benchmarks\build.gradle elasticsearch\client\benchmark\build.gradle buildscript { repo...原创 2019-03-18 16:46:55 · 439 阅读 · 0 评论 -
Elasticsearch存储分析
1.lucene存储结构倒排索引逻辑结构 关键字 文章号【出现频率】 出现位置 guangzhou 1【2】 2,6 hadoop 1【3】,3【5】 1,5,8 1,2,5,9,10 part 2【2】,7【1】 12,54 11 room 2【1】,2【2】 ...原创 2019-04-12 10:43:17 · 313 阅读 · 0 评论 -
ElasticSearch QueryCache源码理解(基于6.0.0-rc2版本)
对于频繁的查询,查询结果缓存是提高效率的有效做法。ElasticSearch缓存分为node缓存与index缓存;其中node缓存:1.query缓存(是属于lucene的)2.field缓存3.request缓存以下分析一下QueryCache;QueryCache是主要dsl的子查询语句的结果集缓存,对于后续相同的查询可以直接取缓存数据以上是核心三种缓存的源...原创 2019-04-17 19:08:10 · 606 阅读 · 0 评论