第一讲 elasticsearch2.4.3源码分析 Settings

Paste_Image.png

如图所示,我们在使用elasticsearch时,首先先从Settings开始,那我们不禁想问,Settings到底为我们做了哪些事情?
那我们就得先看看这个Settings类时何方神圣了。这个Settings是一个final类,如下图所示:


Paste_Image.png

从图中我们可以看到Settings实现了ToXcontent接口:


Paste_Image.png

上图也就是ToXContent的庐山真面目了。
我们从上图就能看出来,这个类一共有五个成员,一个方法,一个字段,两个静态内部类,和一个内部接口。这个类如果以后碰到相应的内容我们再进行分析,大家有个印象即可。好,那我们现在继续看Settings类。
我们现在看看Settings的settingBuilder()方法:
Paste_Image.png

如果我们看到,这使用了一个静态内部类来进行实例化。我们看看Builder类给我做了什么事情:

Paste_Image.png

Builder类在初始化的时候实例化了一个LinkedHashMap,这个map到底干什么用,其实是放我们put进去的数据,请各位看第一图的put方法,其实就是把数据放入到这个map中,看下图:

Paste_Image.png

我们调用Builder类的put方法把数据放入到map中后,我们调用了Builder的build()方法,我们看看这个方法干了什么事情:

Paste_Image.png

代码很简单,就是将map给了Settings的构造函数,我们看看这个构造函数是怎么写的:

Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容