紧接上一篇文章
1、创建NodeClient对象
将截止到目前为止涉及到的所有对象的配置文件收集起来,又是以list集合的方式,
final List<Setting<?>> additionalSettings = new ArrayList<>();
然后作为参数创建了一个NodeClient对象。如果Node是节点的静态表现方式,那NodeClient就是节点的动态表示方式,将会执行各种action。action是什么呢,我们到相应的场景再说,在这里可以简单理解为查询、新增文档等动作
2、解析Plugin
Plugin是es中放给开发者进行自定义功能的扩展点,我们从磁盘上将plugin文件目录读取后,现在需要将里面为ScriptPlugin类型的插件抽取出来进行操作。
不知道你对es的api操作了解多少,是否使用过es的脚本,例如下面的api,查询到的结果进行删除
jiaowu_school/_delete_by_query
{
"query": {
"match_all": {}
}
}
又或者将查询到的结果进行update
这是我日常开发中经常使用的2个api,这2个api对应的就是这里的Script关键词
在脚本模块里会有上下文context的概念,可以简单理解为做操作之前掌握的一些信息。
关于脚本的介绍说细的化可以单独开一篇文章进行介绍了,由于这里是在阐述启动,不能喧宾夺主的过分介绍。
解析完后放入内存
public final Map<String, ScriptEngine> engin