ES插件开发之--如何添加自己的动态设置项
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,ES中,有一类参数是可以动态调整的,比如副本数量: number_of_replicas。在插件开发中,如何添加自己的自定义参数呢?在插件的入口,添加onModule(ClusterModule mo
千家信息网最后更新 2026年11月01日ES插件开发之--如何添加自己的动态设置项
ES中,有一类参数是可以动态调整的,比如副本数量: number_of_replicas。
在插件开发中,如何添加自己的自定义参数呢?
在插件的入口,添加onModule(ClusterModule module)即可。
public class ShgyPlugin extends Plugin { @Override public String name() { return "shgy-plugin"; } @Override public String description() { return "shgy plugin "; } public void onModule(ClusterModule module){ module.registerIndexDynamicSetting("index.custom_setting", new Validator() { @Override public String validate(String setting, String value, ClusterState clusterState) { if (value == null) { throw new NullPointerException("value must not be null"); } return null; } }); }}编译代码,安装插件后,使用如下的脚本测试:
curl -X PUT "localhost:9200/twitter/_settings" -H 'Content-Type: application/json' -d'{ "index" : { "custom_setting" : 2 }}'curl -XGET 'http://localhost:9200/twitter/_settings?pretty'在代码中使用参数,一般是在TransportAction中使用, 代码片段如下:
ClusterState clusterState = clusterService.state(); clusterState.blocks().globalBlockedRaiseException(ClusterBlockLevel.READ); String concreteSingleIndex = indexNameExpressionResolver.concreteSingleIndex(clusterState, request); IndexMetaData indexMeta = clusterState.getMetaData().index(concreteSingleIndex); int sectionCnt = indexMeta.getSettings().getAsInt("index.custom_settings",-1);即通过clusterService获取到clusterState, 然后获取到IndexMetaData, 然后获取到Settings。
自定义动态参数, 配合templates的使用,就不需要频繁手动创建索引了。 这个知识点应该归纳到 ES插件开发的一部分。
插件
参数
代码
动态
开发
频繁
入口
副本
手动
数量
是在
片段
知识
知识点
索引
脚本
测试
编译
调整
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中关村互联网 科技集团
为想互联网科技怎么样
广州百单互联网科技有限公司
今日互联网科技
互联网核心科技是什么
互联网科技媒体
互联网科技ppt模板
互联网科技logo设计
深圳天众互联网科技公司
融贸通互联网科技
兼蜜互联网科技
广州紫鲸互联网科技
互联网 科技服务平台
深圳国际航运科技和互联网
欧洲十大科技互联网公司
济南有互联网科技公司吗
保险科技服务互联网营销体系
滨湖区互联网智能科技产品有哪些
深圳无忧互联网科技
广西科技产业互联网是什么
工业互联网科技新基建
互联网与科技金融数据
亿账通互联网科技
新浪科技互联网
港股科技和互联网
互联网科技商业
互联网科技如何创业
上海钢联属于互联网科技股吗
美国互联网科技公司
广州全民伙伴互联网科技有限公司