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

人力资源公司起名大全册子网络优化工程师能干一辈子吗

人力资源公司起名大全册子,网络优化工程师能干一辈子吗,游戏平台管理系统,wordpress用什么php版本好1 RestHighLevelClient介绍 默认情况下#xff0c;ElasticSearch使用两个端口来监听外部TCP流量。 9200端口#xff1a;用于所有通过HTTP协议进行的API调用。包括搜索、聚合、监控、以及其他任何使用HTTP协议的请求。所有的客户端库都会使用该端口与ElasticSearch进行交互。…1 RestHighLevelClient介绍 默认情况下ElasticSearch使用两个端口来监听外部TCP流量。 9200端口用于所有通过HTTP协议进行的API调用。包括搜索、聚合、监控、以及其他任何使用HTTP协议的请求。所有的客户端库都会使用该端口与ElasticSearch进行交互。9300端口是一个自定义的二进制协议用于集群中各节点之间的通信。用于诸如集群变更、主节点选举、节点加入/离开、分片分配等事项。 RestHighLevelClient是ES的Java客户端它是通过HTTP与ES集群进行通信。 2 引入ES依赖 !--引入es-high-level-client相关依赖 start-- dependencygroupIdorg.elasticsearch/groupIdartifactIdelasticsearch/artifactIdversion7.10.0/version /dependencydependencygroupIdorg.elasticsearch.client/groupIdartifactIdelasticsearch-rest-client/artifactIdversion7.10.0/version /dependencydependencygroupIdorg.elasticsearch.client/groupIdartifactIdelasticsearch-rest-high-level-client/artifactIdversion7.10.0/version /dependency !--引入es-high-level-client相关依赖 end--3 使用 3.1 es的配置 # es配置 # es用户名 elasticsearch.userNameelastic # es密码 elasticsearch.passwordelastic # es host ip 地址(集群)多个以,间隔 elasticsearch.hosts127.0.0.1:9200 # es 请求方式 elasticsearch.schemehttp # es 连接超时时间ms elasticsearch.connectTimeOut1000 # es socket 连接超时时间ms elasticsearch.socketTimeOut30000 # es 请求超时时间ms elasticsearch.connectionRequestTimeOut500 # es 最大连接数 elasticsearch.maxConnectNum100 # es 每个路由的最大连接数 elasticsearch.maxConnectNumPerRoute100 3.2 es客户端配置类 /*** restHighLevelClient 客户端配置类**/ Slf4j Data Configuration ConfigurationProperties(prefix elasticsearch) public class ElasticsearchConfig {/*** es host ip 地址集群*/private String hosts;/*** es用户名*/private String userName;/*** es密码*/private String password;/*** es 请求方式*/private String scheme;/*** es 连接超时时间*/private int connectTimeOut;/*** es socket 连接超时时间*/private int socketTimeOut;/*** es 请求超时时间*/private int connectionRequestTimeOut;/*** es 最大连接数*/private int maxConnectNum;/*** es 每个路由的最大连接数*/private int maxConnectNumPerRoute;/*** 如果Bean没有指定bean的名称那么方法名就是bean的名称*/Bean(name restHighLevelClient)public RestHighLevelClient restHighLevelClient() {// 构建连接对象RestClientBuilder builder RestClient.builder(getEsHost());// 连接延时配置builder.setRequestConfigCallback(requestConfigBuilder - {requestConfigBuilder.setConnectTimeout(connectTimeOut);requestConfigBuilder.setSocketTimeout(socketTimeOut);requestConfigBuilder.setConnectionRequestTimeout(connectionRequestTimeOut);return requestConfigBuilder;});// 连接数配置builder.setHttpClientConfigCallback(httpClientBuilder - {httpClientBuilder.setMaxConnTotal(maxConnectNum);httpClientBuilder.setMaxConnPerRoute(maxConnectNumPerRoute);httpClientBuilder.setDefaultCredentialsProvider(getCredentialsProvider());return httpClientBuilder;});return new RestHighLevelClient(builder);}private HttpHost[] getEsHost() {// 拆分地址es为多节点时不同host以逗号间隔ListHttpHost hostLists new ArrayList();String[] hostList hosts.split(,);for (String addr : hostList) {String host addr.split(:)[0];String port addr.split(:)[1];hostLists.add(new HttpHost(host, Integer.parseInt(port), scheme));}// 转换成 HttpHost 数组return hostLists.toArray(new HttpHost[]{});}private CredentialsProvider getCredentialsProvider() {// 设置用户名、密码CredentialsProvider credentialsProvider new BasicCredentialsProvider();credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(userName, password));return credentialsProvider;} } 3.3 es的使用 3.3.1 创建es索引 3.3.1.1 创建es索引的工具类 创建es索引的工具类如下所示。 /*** 操作ES索引**/ Slf4j Service public class EsIndexOperation {Resourceprivate RestHighLevelClient restHighLevelClient;private final RequestOptions options RequestOptions.DEFAULT;/*** 判断索引是否存在*/public boolean checkIndex(String index) {try {return restHighLevelClient.indices().exists(new GetIndexRequest(index), options);} catch (Exception e) {log.error(EsIndexOperation checkIndex error., e);}return Boolean.FALSE;}/*** 创建索引** param indexName es索引名* param esSettingFilePath es索引的alias、settings和mapping的配置文件*/public boolean createIndex(String indexName, String esSettingFilePath) {String aliases null;String mappings null;String settings null;if (StringUtils.isNotBlank(esSettingFilePath)) {try {String fileContent FileUtils.readFileContent(esSettingFilePath);if (StringUtils.isNotBlank(fileContent)) {JSONObject jsonObject JSON.parseObject(fileContent);aliases jsonObject.getString(aliases);mappings jsonObject.getString(mappings);settings jsonObject.getString(settings);}} catch (Exception e) {log.error(createIndex error., e);return false;}}if (checkIndex(indexName)) {log.error(createIndex indexName:[{}]已存在, indexName);return false;}CreateIndexRequest request new CreateIndexRequest(indexName);if ((StringUtils.isNotBlank(aliases))) {request.aliases(aliases, XContentType.JSON);}if (StringUtils.isNotBlank(mappings)) {request.mapping(mappings, XContentType.JSON);}if (StringUtils.isNotBlank(settings)) {request.settings(settings, XContentType.JSON);}try {this.restHighLevelClient.indices().create(request, options);return true;} catch (IOException e) {log.error(EsIndexOperation createIndex error., e);return false;}}/*** 删除索引*/public boolean deleteIndex(String indexName) {try {if (checkIndex(indexName)) {DeleteIndexRequest request new DeleteIndexRequest(indexName);AcknowledgedResponse response restHighLevelClient.indices().delete(request, options);return response.isAcknowledged();}} catch (Exception e) {log.error(EsIndexOperation deleteIndex error., e);}return Boolean.FALSE;} }3.3.1.2 读取文件的工具类 /*** 文件操作类*/ Slf4j public class FileUtils {/*** 读取项目resources文件夹下的文件** param filePath 文件路径* return 文件内容*/public static String readFileContent(String filePath) {try {BufferedReader reader new BufferedReader(new FileReader(filePath));String line;StringBuilder stringBuilder new StringBuilder();while ((line reader.readLine()) ! null) {stringBuilder.append(line);}reader.close();return stringBuilder.toString();} catch (IOException e) {log.error(readFileContent error., e);}return null;}public static void main(String[] args) {String filePath src/main/resources/es/mappings_test20231216.txt;String fileContent readFileContent(filePath);}}3.3.1.3 测试创建es索引 1在“resources”文件夹下创建es索引的配置文件 配置文件内容如下所示。 {aliases: {test: {}},mappings: {properties: {name: {type: text,fields: {keyword: {type: keyword,ignore_above: 256}}},address: {type: text,fields: {keyword: {type: keyword,ignore_above: 256}}}}},settings: {index: {number_of_shards: 1,number_of_replicas: 1}} } 2读取es索引的配置文件创建es索引 Testpublic void createIndex() {String indexName test_1216;String filePath src/main/resources/es/mappings_test20231216.txt;boolean b esIndexOperation.createIndex(indexName, filePath);Assert.assertTrue(b);} 3查看创建结果 通过命令 GET /test 查看es索引创建结果结果如下所示。 {test_1216 : {aliases : {test : { }},mappings : {properties : {address : {type : text,fields : {keyword : {type : keyword,ignore_above : 256}}},name : {type : text,fields : {keyword : {type : keyword,ignore_above : 256}}}}},settings : {index : {routing : {allocation : {include : {_tier_preference : data_content}}},number_of_shards : 1,provided_name : test_1216,creation_date : 1702723364945,number_of_replicas : 1,uuid : RCAhqjPZSG-n4fse3cot4A,version : {created : 7100099}}}} }4 参考文献 1elasticsearch学习七es客户端RestHighLevelClient_炎升的博客 2中间件ElasticSearch组件RestHighLevelClient用法详解 3java api 实现es中的索引管理_createindexrequest
http://www.tj-hxxt.cn/news/225414.html

相关文章:

  • 新宫网站建设公司wordpress企业建站视频
  • 推广网站怎样做鲜花网站模版
  • 营销型网站建设的重要原则wordpress 在线字体
  • 太原百度seo网站建设织梦企业黄页网站源码
  • 武夷山网站建设wzjseo深圳住房和建设局网站无法登陆
  • 怎么让客户做网站优化一个空间可以做几个网站吗
  • 网站上展示手机页面是怎么做的山西国人伟业网站
  • 徐州市丰县建设局网站flash网站模版
  • 北京做网站建设的公司哪家好报纸门户网站建设方案
  • 找人做网站上线后被投诉侵权互联网营销师培训学校
  • 武隆网站建设费用网上购物商城有哪些
  • 视频网站建设框架学校网页网站模板
  • 怎样在百度免费做网站抖音关键词查询工具
  • 国外好看的网站设计个人网站 建设
  • 融资融券配资网站建设wordpresS追踪访问轨迹
  • 盐城营销型网站网站区域名怎么注册
  • 怎么做二级域名网站新手如何做淘宝运营
  • 网站建设佛山拓客科技公司个人做百度云下载网站
  • 网站维护的要求包括哪些ppt模板简约 淡雅 大气
  • 网站seo啥意思怎么在百度免费推广
  • 网站建设管理维护制度p2p提供网站建设违法
  • 福鼎市城市建设监察大队网站苍南县规划建设局网站
  • 企业是做网站还是做微信室内设计师常用网站
  • 长垣县建站塔山双喜做网站容易吧
  • 德州企业网站建设要素网站如何做的有特色
  • 微网站模板代码电子商务网站会员体系
  • 网站营销最大的特点河南省重点项目建设网站
  • 久久建筑网站下载菏泽外贸网站建设公司
  • 太湖网站建设推荐秒搜科技秦皇岛抖音推广公司
  • 长春长春网站建设网WordPress建站详细过程