当前位置: 首页 > news >正文

让建站公司做网站需要什么baidu百度首页官网

让建站公司做网站需要什么,baidu百度首页官网,wordpress网站加壳,上海网站建设招聘首先是封装了一个类里定义了关于集群名称和集群节点;以及关于索引的名称和集群的名称做一个关联;将多个集群封装存储得到类中 /*** es集群类*/ Data public class EsClusterConfig implements Serializable {/*** 集群名称*/private String name;/*** 集…

首先是封装了一个类里定义了关于集群名称和集群节点;以及关于索引的名称和集群的名称做一个关联;将多个集群封装存储得到类中

/*** es集群类*/
@Data
public class EsClusterConfig implements Serializable {/*** 集群名称*/private String name;/*** 集群节点*/private String nodes;
}/*** 索引类*/
@Data
public class EsIndexInfo implements Serializable {/*** 集群名称*/private String clusterName;/*** 索引名称*/private String indexName;
}@Component
@ConfigurationProperties(prefix = "es.cluster")
public class EsConfigProperties {private List<EsClusterConfig> esConfigs = new LinkedList<>();public List<EsClusterConfig> getEsConfigs() {return esConfigs;}public void setEsConfigs(List<EsClusterConfig> esConfigs) {this.esConfigs = esConfigs;}
}

yml文件中定义关于集群的一个信息:

es:cluster:es-configs[0]:name: 玫瑰不会过期nodes: 127.0.0.1:9200

通过@PostConstruct注解实现提前的初始化赋值,和Bean的InitializingBean接口差不多

@PostConstruct
public void initialize() {// 从配置属性对象中获取 Elasticsearch 集群配置列表List<EsClusterConfig> esConfigs = esConfigProperties.getEsConfigs();// 遍历每个 Elasticsearch 集群配置for (EsClusterConfig esConfig : esConfigs) {// 打印日志,记录当前正在初始化的配置名称和节点信息log.info("initialize.config.name:{},node:{}", esConfig.getName(), esConfig.getNodes());// 调用 initRestClient 方法初始化与当前配置对应的 RestHighLevelClient(初始话对应的索引)RestHighLevelClient restHighLevelClient = initRestClient(esConfig);// 如果初始化成功,即返回的客户端对象不为 nullif (restHighLevelClient!= null) {// 将配置名称和对应的客户端对象放入名为 clientMap 的映射中,方便后续根据配置名称获取对应的客户端clientMap.put(esConfig.getName(), restHighLevelClient);} else {// 如果初始化失败,打印错误日志,记录配置名称和节点信息以及初始化错误的提示log.error("config.name:{},node:{}.initError", esConfig.getName(), esConfig.getNodes());}}
}

调用对应的分割方法,存储到HttpHost对象中

private RestHighLevelClient initRestClient(EsClusterConfig esClusterConfig) {// 将配置中的节点字符串以逗号分隔,得到各个节点的字符串表示String[] ipPortArr = esClusterConfig.getNodes().split(",");// 创建一个用于存储 HttpHost 对象的列表List<HttpHost> httpHostList = new ArrayList<>(ipPortArr.length);// 遍历每个节点字符串for (String ipPort : ipPortArr) {// 将节点字符串以冒号分隔,得到 IP 和端口信息String[] ipPortInfo = ipPort.split(":");// 如果正确分割为两部分(IP 和端口)if (ipPortInfo.length == 2) {// 创建一个 HttpHost 对象,传入 IP 和端口,并将其添加到列表中HttpHost httpHost = new HttpHost(ipPortInfo[0], NumberUtils.toInt(ipPortInfo[1]));httpHostList.add(httpHost);}}// 将列表转换为数组HttpHost[] httpHosts = new HttpHost[httpHostList.size()];httpHostList.toArray(httpHosts);// 使用 HttpHost 数组创建 RestClientBuilder 对象RestClientBuilder builder = RestClient.builder(httpHosts);// 使用 RestClientBuilder 创建 RestHighLevelClient 对象RestHighLevelClient restHighLevelClient = new RestHighLevelClient(builder);// 返回创建的 RestHighLevelClient 对象return restHighLevelClient;
}

假设esClusterConfig.getNodes()返回的字符串是 "192.168.1.100:9200,192.168.1.101:9200",表示有两个 Elasticsearch 节点,分别在不同的 IP 地址上,端口都是 9200。

执行String[] ipPortArr = esClusterConfig.getNodes().split(",");后,ipPortArr这个数组将包含两个元素: "192.168.1.100:9200" "192.168.1.101:9200" 这样就把配置中的多个以逗号分隔的节点信息拆分成了数组中的单个节点字符串,方便后续进一步处理每个节点的 IP 和端口信息来创建与 Elasticsearch 节点的连接。

最终存储到HttpHost中建立一个RestHighLevelClient对象,来存储到map中,key是集群名称,value就是调用的对应对象

总结

首先封装三个对象一个是关于es集群的对象包括集群名称、该名称下的节点,还有一个索引表存储集群名称和索引的。然后通过@PostConstruct这个注解来实现提前注入,获取到存储集群名称和节点的对象放到RestHighLevelClient这个对象中,将其存储一个map中,后续操作我们只是需要通过get集群名称就可以获取到这个对象了。

而对应的对应的索引的切换只需要,通过传入一个EsIndexInfo对象,存储的集群名称和索引,就可以进行具体的操作了

http://www.tj-hxxt.cn/news/62652.html

相关文章:

  • 网站开发开源程序福建网络seo关键词优化教程
  • 建设营销型网页上海营销seo
  • 网站建的创新点流程优化
  • 网站页面设计公司seo文章优化技巧
  • 做美工比较好的网站百度一下电脑版首页
  • 怎样给网站增加栏目杭州seo培训
  • 做网站的计划书福州网站排名提升
  • 网站建设做的快搜索关键词查询工具
  • 哪个网站做照片书最好东莞seo网站管理
  • 珠海哪家做企业网站公司好排名优化价格
  • 最新肺炎疫情新塘网站seo优化
  • 2015年做那些网站能致富农村电商平台有哪些
  • 铜陵app网站做招聘信息郑州做网站推广哪家好
  • 优秀高端网站建设公司活动推广文案
  • 如何建设论坛网站重庆今天刚刚发生的重大新闻
  • 学校网站织梦源码怎么创建自己的网站平台
  • 自己做网站平台热狗seo顾问
  • 青岛网站建设价格线上培训机构排名前十
  • 怎么做网站的分类目录seo视频教程我要自学网
  • 手机网站建设模板下载关键词优化骗局
  • 企业大型网站建设要多少钱视频剪辑培训班一般学费多少
  • 360元网站建设 网络服务建立网站的步骤
  • 做有源代码的网站有什么好处百度的特点和优势
  • 做网站的公司 杭州专业做app软件开发公司
  • 如何保护自己的网站制作网站的平台
  • 静态网站制作价格人工智能培训心得体会
  • 宁海县做企业网站最新国际新闻头条新闻
  • 舟山公司网站制作惠州seo外包费用
  • 自己的网站怎么赚钱网址提交百度
  • 南昌网站优化方案做网站推广一般多少钱