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

网站制作地点多久可以做网站

网站制作地点,多久可以做网站,合肥软件开发公司哪家好,为什么不建议学平面设计五、ElasticSearch应用 1.ES 的Java API两种方式 Elasticsearch 的API 分为 REST Client API#xff08;http请求形式#xff09;以及 transportClient API两种。相比来说transportClient API效率更高#xff0c;transportClient 是通过Elasticsearch内部RPC的形式进行请求…五、ElasticSearch应用 1.ES 的Java API两种方式 Elasticsearch 的API 分为 REST Client APIhttp请求形式以及 transportClient API两种。相比来说transportClient API效率更高transportClient 是通过Elasticsearch内部RPC的形式进行请求的连接可以是一个长连接相当于是把客户端的请求当成 Elasticsearch 集群的一个节点当然 REST Client API 也支持http keepAlive形式的长连接只是非内部RPC形式。但是从Elasticsearch 7 后就会移除transportClient 。主要原因是transportClient 难以向下兼容版本。 1.1 9300[TCP] 利用9300端口的是spring-data-elasticsearch:transport-api.jar,但是这种方式因为对应的SpringBoot版本不一致造成对应的transport-api.jar也不同不能适配es的版本而且ElasticSearch7.x中已经不推荐使用了ElasticSearch 8之后更是废弃了所以我们不做过多的介绍 1.2 9200[HTTP] 基于9200端口的方式也有多种 JsetClient:非官方更新缓慢RestTemplate:模拟发送Http请求ES很多的操作需要我们自己来封装效率低HttpClient和上面的情况一样ElasticSearch-Rest-Client:官方的RestClient封装了ES的操作API层次分明易于上手。JavaAPIClient 7.15版本后推荐 2.ElasticSearch-Rest-Client整合 2.1 创建检索的服务 我们在商城服务中创建一个检索的SpringBoot服务 添加对应的依赖官方地址https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high-getting-started-maven.html#java-rest-high-getting-started-maven-maven 公共依赖不要忘了同时我们在公共依赖中依赖了MyBatisPlus所以我们需要在search服务中排除数据源不然启动报错 然后我们需要把这个服务注册到Nacos注册中心中这块操作了很多遍不重复 添加对应的ElasticSearch的配置类 /*** ElasticSearch的配置类*/ Configuration public class MallElasticSearchConfiguration {Beanpublic RestHighLevelClient restHighLevelClient(){RestClientBuilder builder RestClient.builder(new HttpHost(192.168.56.100, 9200, http));RestHighLevelClient client new RestHighLevelClient(builder);return client;} }测试 2.2 测试保存文档 设置RequestOptions 我们就在ElasticSearch的配置文件中设置 保存数据 然后就可以结合官方文档来实现文档数据的存储 package com.msb.mall.mallsearch;import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.util.JSONPObject; import com.msb.mall.mallsearch.config.MallElasticSearchConfiguration; import lombok.Data; import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.action.index.IndexResponse; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.common.xcontent.XContentType; import org.json.JSONObject; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest;SpringBootTest class MallSearchApplicationTests {Autowiredprivate RestHighLevelClient client;Testvoid contextLoads() {System.out.println(---client);}/*** 测试保存文档*/Testvoid saveIndex() throws Exception {IndexRequest indexRequest new IndexRequest(system);indexRequest.id(1);// indexRequest.source(name,bobokaoya,age,18,gender,男);User user new User();user.setName(bobo);user.setAge(22);user.setGender(男);// 用Jackson中的对象转json数据ObjectMapper objectMapper new ObjectMapper();String json objectMapper.writeValueAsString(user);indexRequest.source(json, XContentType.JSON);// 执行操作IndexResponse index client.index(indexRequest, MallElasticSearchConfiguration.COMMON_OPTIONS);// 提取有用的返回信息System.out.println(index);}Dataclass User{private String name;private Integer age;private String gender;}} 之后成功 2.3 检索操作 参考官方文档可以获取到处理各种检索情况的API 案例1检索出所有的bank索引的所有文档 Testvoid searchIndexAll() throws IOException {// 1.创建一个 SearchRequest 对象SearchRequest searchRequest new SearchRequest();searchRequest.indices(bank); // 设置我们要检索的数据对应的索引库SearchSourceBuilder sourceBuilder new SearchSourceBuilder();/*sourceBuilder.query();sourceBuilder.from();sourceBuilder.size();sourceBuilder.aggregation();*/searchRequest.source(sourceBuilder);// 2.如何执行检索操作SearchResponse response client.search(searchRequest, MallElasticSearchConfiguration.COMMON_OPTIONS);// 3.获取检索后的响应对象我们需要解析出我们关心的数据System.out.println(ElasticSearch检索的信息response);}案例2根据address全文检索 Testvoid searchIndexByAddress() throws IOException {// 1.创建一个 SearchRequest 对象SearchRequest searchRequest new SearchRequest();searchRequest.indices(bank); // 设置我们要检索的数据对应的索引库SearchSourceBuilder sourceBuilder new SearchSourceBuilder();// 查询出bank下 address 中包含 mill的记录sourceBuilder.query(QueryBuilders.matchQuery(address,mill));searchRequest.source(sourceBuilder);// System.out.println(searchRequest);// 2.如何执行检索操作SearchResponse response client.search(searchRequest, MallElasticSearchConfiguration.COMMON_OPTIONS);// 3.获取检索后的响应对象我们需要解析出我们关心的数据System.out.println(ElasticSearch检索的信息response);}案例3嵌套的聚合操作检索出bank下的年龄分布和每个年龄段的平均薪资 /*** 聚合嵌套聚合* throws IOException*/Testvoid searchIndexAggregation() throws IOException {// 1.创建一个 SearchRequest 对象SearchRequest searchRequest new SearchRequest();searchRequest.indices(bank); // 设置我们要检索的数据对应的索引库SearchSourceBuilder sourceBuilder new SearchSourceBuilder();// 查询出bank下 所有的文档sourceBuilder.query(QueryBuilders.matchAllQuery());// 聚合 aggregation// 聚合bank下年龄的分布和每个年龄段的平均薪资AggregationBuilder aggregationBuiler AggregationBuilders.terms(ageAgg).field(age).size(10);// 嵌套聚合aggregationBuiler.subAggregation(AggregationBuilders.avg(balanceAvg).field(balance));sourceBuilder.aggregation(aggregationBuiler);sourceBuilder.size(0); // 聚合的时候就不用显示满足条件的文档内容了searchRequest.source(sourceBuilder);System.out.println(sourceBuilder);// 2.如何执行检索操作SearchResponse response client.search(searchRequest, MallElasticSearchConfiguration.COMMON_OPTIONS);// 3.获取检索后的响应对象我们需要解析出我们关心的数据System.out.println(response);}案例4并行的聚合操作查询出bank下年龄段的分布和总的平均薪资 /*** 聚合* throws IOException*/Testvoid searchIndexAggregation1() throws IOException {// 1.创建一个 SearchRequest 对象SearchRequest searchRequest new SearchRequest();searchRequest.indices(bank); // 设置我们要检索的数据对应的索引库SearchSourceBuilder sourceBuilder new SearchSourceBuilder();// 查询出bank下 所有的文档sourceBuilder.query(QueryBuilders.matchAllQuery());// 聚合 aggregation// 聚合bank下年龄的分布和平均薪资AggregationBuilder aggregationBuiler AggregationBuilders.terms(ageAgg).field(age).size(10);sourceBuilder.aggregation(aggregationBuiler);// 聚合平均年龄AvgAggregationBuilder balanceAggBuilder AggregationBuilders.avg(balanceAgg).field(age);sourceBuilder.aggregation(balanceAggBuilder);sourceBuilder.size(0); // 聚合的时候就不用显示满足条件的文档内容了searchRequest.source(sourceBuilder);System.out.println(sourceBuilder);// 2.如何执行检索操作SearchResponse response client.search(searchRequest, MallElasticSearchConfiguration.COMMON_OPTIONS);// 3.获取检索后的响应对象我们需要解析出我们关心的数据System.out.println(response);}案例5处理检索后的结果 Testvoid searchIndexResponse() throws IOException {// 1.创建一个 SearchRequest 对象SearchRequest searchRequest new SearchRequest();searchRequest.indices(bank); // 设置我们要检索的数据对应的索引库SearchSourceBuilder sourceBuilder new SearchSourceBuilder();// 查询出bank下 address 中包含 mill的记录sourceBuilder.query(QueryBuilders.matchQuery(address,mill));searchRequest.source(sourceBuilder);// System.out.println(searchRequest);// 2.如何执行检索操作SearchResponse response client.search(searchRequest, MallElasticSearchConfiguration.COMMON_OPTIONS);// 3.获取检索后的响应对象我们需要解析出我们关心的数据// System.out.println(ElasticSearch检索的信息response);RestStatus status response.status();TimeValue took response.getTook();SearchHits hits response.getHits();TotalHits totalHits hits.getTotalHits();TotalHits.Relation relation totalHits.relation;long value totalHits.value;float maxScore hits.getMaxScore(); // 相关性的最高分SearchHit[] hits1 hits.getHits();for (SearchHit documentFields : hits1) {/*_index : bank,_type : account,_id : 970,_score : 5.4032025*///documentFields.getIndex(),documentFields.getType(),documentFields.getId(),documentFields.getScore();String json documentFields.getSourceAsString();//System.out.println(json);// JSON字符串转换为 Object对象ObjectMapper mapper new ObjectMapper();Account account mapper.readValue(json, Account.class);System.out.println(account account);}//System.out.println(relation.toString()--- value --- status);}ToStringDatastatic class Account {private int account_number;private int balance;private String firstname;private String lastname;private int age;private String gender;private String address;private String employer;private String email;private String city;private String state;}数据的结果
http://www.dnsts.com.cn/news/162318.html

相关文章:

  • 网站做一样的算侵权么深圳菜谱制作
  • 化工销售怎么做网站网站开发形式选择
  • 赣州vi设计公司SEO优化网站建设价格
  • 美丽寮步网站建设高性能个人免费发布信息平台
  • 做网站公司 备案app商城需要手机网站吗
  • 莱芜网站建设费用佛山最好的网站建设公司
  • 网站分析步骤wordpress 转发 插件
  • 家庭做网站推荐上海网站建设
  • 网站建设标语文案东营市建设局网站
  • 婚恋网站制作企业公示信息查询系统湖北
  • 做网站 不是计算机专业99设计网站
  • 做民宿的网站有哪些江苏官网建设公司
  • wordpress 网站优化软文网官网
  • ppt电子商务网站建设培训机构需要哪些证件
  • 怎样创建官方网站用易语言可以做网站吗
  • 延安网站制作上海房价2022年最新房价
  • 便宜的网站设计企业行业关键词查询
  • 做网站需要什么素材app图标制作软件
  • 网站建设电商板块品牌网站设计制作多少钱
  • 门户网站建设价格网页配色网站
  • 手机网站源码下载合肥最新通告
  • 网站虚拟主机购买教程搭建游戏服务器
  • 江西哪家网站建设公司好oa系统登录入口
  • 网站建设方案 文库门户网站技术方案
  • 秦皇岛网站建设企业物联网今天正式开网
  • 莆系医疗网站建设运用虚拟机建设网站
  • 做男鞋的网站好360网站优化
  • 汕头高端网站建设wordpress大前端plus
  • 商城设计app网站建设陈木胜去世
  • 域名注册好了怎么弄网站如何用云服务器搭建个人网站