jasper的技术小窝

关注DevOps、运维监控、Python、Golang、开源、大数据、web开发、互联网

elasticsearch源码分析之plugin的开发

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 3347 次 | 发布:2016-06-19 9:47 p.m.

在Elasticsearch中,如果你能自定义的扩充Elasticsearch的功能,比如说你想扩展自己的api、分词器、界面、权限等等,这时候你需要开发Elasticsearch的plugin了,之前也提到了Elasticsearch利用了Guice来达到注入各个功能模块的目的,这就让自定义的plugin也可以很方便地注入到Elasticsearch中,在网上看到过几篇这这方面的介绍,但都是两三年前的版本了,最新的Elasticsearch怎么来做到自开发plugin呢,本文就来简单地介绍下。

阅读全文

elasticsearch源码分析之search模块(server端)

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 2808 次 | 发布:2016-04-04 10:34 p.m.

继续接着上一篇的来说啊,当client端将search的请求发送到某一个node之后,剩下的事情就是server端来处理了,具体包括哪些步骤呢?

阅读全文

elasticsearch源码分析之search模块(client端)

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 3307 次 | 发布:2016-04-02 10:01 p.m.

最近略为烦躁,也没静下心来搞搞技术,这样不行、不行;还是接着上一篇的来说,Elasticsearch提供了强大的查询搜素功能,那么搜素的结果是怎么出来的呢,看看源代码,来探一探里面的究竟吧。

阅读全文

elasticsearch源码分析之Rest模块

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 2590 次 | 发布:2016-03-06 10:58 p.m.

看了看上一篇博客的发表时间,发现自己已经有两个月没有更新过了,过年前后的确是有些忙。OK,抽空继续来Elasticsearch的源码研究之路,我们来开启一个全新的部分,关于Elasticsearch的restful api的,本篇文章我会首先大体介绍一下,restful模块的构建,后面会有博文来具体介绍几个api的处理过程。

阅读全文

elasticsearch源码分析之Allocation模块

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 3556 次 | 发布:2016-01-02 9:50 p.m.

对于shard分配到哪个node,之前也提到过了,是由ES自己控制或是由routing来控制,但是在一些情况下会有shard的分配动作,ES中将之称之为allocate,下面我们就来探讨一下allocate相关的知识。

阅读全文

2015年度总结

作者:jasper | 分类:随笔 | 标签:   | 阅读 1326 次 | 发布:2015-12-27 12:54 a.m.

唉,2015已经余额不足了,一般说来一年之中都过的平平淡淡的人,是不好意思写总结的,那我还就要厚颜无耻地写了,权且是为了保持这样的一种习惯吧,也是为了以后能回过头来细细回味。

阅读全文

elasticsearch源码分析之Gateway模块

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 2899 次 | 发布:2015-12-21 10:33 p.m.

周末看了两场NBA之后,又要来开始继续研究Elasticsearch的源代码,今天我们来一起看看Gateway模块,Gateway模块用于存储es集群的MetaData。MetaData每一次改变(比如增加删除索引等),都要通过Gateway模块进行持久化。当集群第一次启动的时候,这些信息就会从Gateway模块中读出并应用。

阅读全文

elasticsearch源码分析之ThreadPool模块

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 4479 次 | 发布:2015-12-12 9:31 p.m.

在ES中所有的action都是由一些线程去执行的(额,感觉说了一句废话),当然多线程的话就需要线程池来控制,其线程的实现与控制就是有threadpool模块来决定,其实之前的很多模块里面都有用到threadpool,那么本文就来详细地说一说ES的线程池模块——ThreadPool。

阅读全文

如何在IDE中运行elasticsearch

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 3276 次 | 发布:2015-12-06 11:56 p.m.

现在插播一篇,之前还一直没有源码跑过Elasticsearch,如果想调试Elasticsearch,或是对它做一些修改,那么就需要在IDE中将之在本地跑起来,不像直接下载的包,对于源码的运行还需要一些额外的注意。

阅读全文

elasticsearch源码分析之Merge

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 3856 次 | 发布:2015-12-06 10:06 p.m.

上一篇中说道数据被flush到磁盘之后,其实是一个一个小的segment,这样的segment每秒都在产生,大量的segment会占用大量的资源,而且每次search的时候会去遍历所有的segment,从而导致性能低下,ES为了优化,在后面运行任务将这种小的segment归并为较大的,这个过程就叫做“merge”,这篇文章就来探究探究merge是怎么工作的。

阅读全文

其他分类: