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

计算机网站建设相关的书籍做网站优化期间能收到网站吗

计算机网站建设相关的书籍,做网站优化期间能收到网站吗,东莞工作装制作,宁波网站建设服务报价持续学习持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【11】ElasticSearch 简介基本概念ElasticSearch概念-倒排索引安装基本命令Mapping-映射ElasticSearch7-去掉type概念Es-数组#xff08;数组装着Object#xff09;的扁平化处理ik 分词… 持续学习持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【11】ElasticSearch 简介基本概念ElasticSearch概念-倒排索引安装基本命令Mapping-映射ElasticSearch7-去掉type概念Es-数组数组装着Object的扁平化处理ik 分词器SpringBoot整合测试存储数据测试复杂检索同步与异步调用 参考 简介 Elasticsearch 是一个高度可扩展且开源的全文检索和分析引擎。它可以让您快速且近实时地存储检索以及分析海量数据。它通常用作那些具有复杂搜索功能和需求的应用的底层引擎或者技术。(我们得把MySQL中的数据给ES也存储一份这样ES才能检索这些数据) https://www.elastic.co/cn/what-is/elasticsearch全文搜索属于最常见的需求开源的 Elasticsearch 是目前全文搜索引擎的首选。它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它Elastic 的底层是开源库 Lucene。但是你没法直接用 Lucene必须自己写代码去调用它的接口。Elastic 是 Lucene 的封装提供了 REST API 的操作接口开箱即用。REST API天然的跨平台。官方文档https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html官方中文https://www.elastic.co/guide/cn/elasticsearch/guide/current/foreword_id.html社区中文 https://es.xiaoleilu.com/index.htmlhttp://doc.codingdict.com/elasticsearch/0/ 基本概念 类比MySQL数据库索引 数据库 类型 数据表 文档 行记录数据 属性 列名一个 Elasticsearch 可以 包含多个 索引 相应的每个索引可以包含多个 类型 。 这些不同的类型存储着多个 文档 每个文档又有 多个 属性 。【这些文档都是json】 ElasticSearch概念-倒排索引 比如检索“红海特工行动”会发现4号记录命中了一次1/2/3/5分别命中了两次但是5号记录是四个单词命中了两次3号记录是三个单词命中了两次那么3号记录的相关性得分就更高查询出的结果会按照相关性得分从高到低排序。 安装 老师安装在虚拟机中由于内存原因我安装在Windows下elasticsearch:7.4.2 https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.4.2-windows-x86_64.zip elasticsearch.yml path.data: G:\elasticsearch\data path.logs: G:\elasticsearch\logs http.cors.enabled: true http.cors.allow-origin: *jvm.options -Xms64m -Xmx512mkibana:7.4.2 https://artifacts.elastic.co/downloads/kibana/kibana-7.4.2-windows-x86_64.zip 基本命令 保存一个数据保存在哪个索引的哪个类型下指定用哪个唯一标识 PUT customer/external/1在 customer 索引下的 external 类型下保存 1 号数据为 { name: John Doe }PUT 和 POST 都可以 POST 新增。如果不指定 id会自动生成 id。指定 id 就会修改这个数据并新增版本号PUT 可以新增可以修改。PUT 必须指定 id由于 PUT 需要指定 id我们一般都用来做修改操作不指定 id 会报错。 查询文档 Mapping-映射 ElasticSearch7-去掉type概念 Es-数组数组装着Object的扁平化处理 问题 解决修改映射再存储数据 ik 分词器 https://github.com/infinilabs/analysis-ik/releases?afterv6.4.2page11 放到G:\software\elasticsearch-7.4.2-windows-x86_64\elasticsearch-7.4.2\plugins目录下并解压然后改目录名为analysis-ik 使用分词器对比(默认分词器standard) 能够看出不同的分词器分词有明显的区别所以以后定义一个索引不能再使用默认的 mapping 了要手工建立 mapping, 因为要选择分词器。 自定义词库 利用 nginx 发布静态资源按照请求路径创建对应的文件夹以及文件放在nginx的html目录下 修改G:\software\elasticsearch-7.4.2-windows-x86_64\elasticsearch-7.4.2\plugins\analysis-ik\config\IKAnalyzer.cfg.xml ?xml version1.0 encodingUTF-8? !DOCTYPE properties SYSTEM http://java.sun.com/dtd/properties.dtd propertiescommentIK Analyzer 扩展配置/comment!--用户可以在这里配置自己的扩展字典 --entry keyext_dict/entry!--用户可以在这里配置自己的扩展停止词字典--entry keyext_stopwords/entry!--用户可以在这里配置远程扩展字典 --!-- http://192.168.56.10/fenci/myword.txt 80断口是nginx端口把这个txt放在nginx中的html目录下 --entry keyremote_ext_dicthttp://192.168.56.10/fenci/myword.txt/entry!--用户可以在这里配置远程扩展停止词字典--entry keyremote_ext_stopwordswords_location/entry /properties重启elasticsearch和kibana后测试自定义的词库使用效果 注意 更新完成后es 只会对新增的数据用新词分词。历史数据是不会重新分词的。如果想要历史数据重新分词。需要执行 POST my_index/_update_by_query?conflictsproceedSpringBoot整合 最终选择 Elasticsearch-Rest-Clientelasticsearch-rest-high-level-client https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high.html 依赖 ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.atguigu.gulimall/groupIdartifactIdgulimall-search/artifactIdversion0.0.1-SNAPSHOT/versionnamegulimall-search/namedescriptionElasticSearch检索服务/descriptionpropertieselasticsearch.version7.4.2/elasticsearch.version/propertiesdependencies!-- 导入es的rest-high-level-client--dependencygroupIdorg.elasticsearch.client/groupIdartifactIdelasticsearch-rest-high-level-client/artifactIdversion7.4.2/version/dependency/dependencies /project配置类 /*** 1、导入依赖* 2、编写配置给容器中注入一个RestHighLevelClient* 3、参照API https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high.html*/ Configuration public class ElasticSearchConfig {public static final RequestOptions COMMON_OPTIONS;static {RequestOptions.Builder builder RequestOptions.DEFAULT.toBuilder(); // builder.addHeader(Authorization, Bearer TOKEN); // builder.setHttpAsyncResponseConsumerFactory( // new HttpAsyncResponseConsumerFactory // .HeapBufferedResponseConsumerFactory(30 * 1024 * 1024 * 1024));COMMON_OPTIONS builder.build();}Beanpublic RestHighLevelClient esRestClient(Value(${spring.elasticsearch.jest.uris}) String esUrl) {//TODO 修改为线上的地址//final String hostname, final int port, final String scheme/// RestClientBuilder builder RestClient.builder(new HttpHost(192.168.56.10, 9200, http));// RestHighLevelClient client new RestHighLevelClient( // RestClient.builder( // new HttpHost(192.168.56.10, 9200, http)));return new RestHighLevelClient(RestClient.builder(HttpHost.create(esUrl)));}}EnableDiscoveryClient SpringBootApplication(exclude DataSourceAutoConfiguration.class) public class GulimallSearchApplication {public static void main(String[] args) {SpringApplication.run(GulimallSearchApplication.class, args);}}spring:elasticsearch:jest:uris: 127.0.0.1:9200测试存储数据 Testpublic void indexData() throws IOException {IndexRequest indexRequest new IndexRequest(users);indexRequest.id(1);//数据的id如果不设置会自动生成id // indexRequest.source(userName,zhangsan,age,18,gender,男);User user new User();user.setUserName(zhangsan);user.setAge(18);user.setGender(男);String jsonString JSON.toJSONString(user);indexRequest.source(jsonString, XContentType.JSON);//要保存的内容//执行操作IndexResponse index client.index(indexRequest, ElasticSearchConfig.COMMON_OPTIONS);//提取有用的响应数据System.out.println(index);}将存储的东西转为JSON即可 测试复杂检索 Testpublic void searchData() throws IOException {//1、创建检索请求SearchRequest searchRequest new SearchRequest();//指定索引searchRequest.indices(bank);//指定DSL检索条件//SearchSourceBuilder sourceBuilde 封装的条件SearchSourceBuilder sourceBuilder new SearchSourceBuilder();//1.1、构造检索条件 // sourceBuilder.query(); // sourceBuilder.from(); // sourceBuilder.size(); // sourceBuilder.aggregation()sourceBuilder.query(QueryBuilders.matchQuery(address,mill));//1.2、按照年龄的值分布进行聚合TermsAggregationBuilder ageAgg AggregationBuilders.terms(ageAgg).field(age).size(10);sourceBuilder.aggregation(ageAgg);//1.3、计算平均薪资AvgAggregationBuilder balanceAvg AggregationBuilders.avg(balanceAvg).field(balance);sourceBuilder.aggregation(balanceAvg);System.out.println(检索条件sourceBuilder.toString());searchRequest.source(sourceBuilder);//2、执行检索SearchResponse searchResponse client.search(searchRequest, ElasticSearchConfig.COMMON_OPTIONS);//3、分析结果 searchResponseSystem.out.println(searchResponse.toString()); // Map map JSON.parseObject(searchResponse.toString(), Map.class);//3.1、获取所有查到的数据SearchHits hits searchResponse.getHits();SearchHit[] searchHits hits.getHits();for (SearchHit hit : searchHits) {/*** _index: bank,* _type: account,* _id: 345,* _score: 5.4032025,* _source:*/ // hit.getIndex();hit.getType();hit.getId();String string hit.getSourceAsString();Accout accout JSON.parseObject(string, Accout.class);System.out.println(accoutaccout);}//3.2、获取这次检索到的分析信息Aggregations aggregations searchResponse.getAggregations(); // for (Aggregation aggregation : aggregations.asList()) { // System.out.println(当前聚合aggregation.getName());aggregation.get // // }Terms ageAgg1 aggregations.get(ageAgg);for (Terms.Bucket bucket : ageAgg1.getBuckets()) {String keyAsString bucket.getKeyAsString();System.out.println(年龄keyAsStringbucket.getDocCount());}Avg balanceAvg1 aggregations.get(balanceAvg);System.out.println(平均薪资balanceAvg1.getValue());// Aggregation balanceAvg2 aggregations.get(balanceAvg);}同步与异步调用 参考 雷丰阳: Java项目《谷粒商城》Java架构师 | 微服务 | 大型电商项目. 本文完感谢您的关注支持
http://www.hkea.cn/news/14462254/

相关文章:

  • 南京企业网站设计建设网站开发人员应具备什么素质
  • php 社交网站模板源码做公众号主页面的有哪些网站
  • 网站慢的原因网站怎么开发代码
  • 360信息流广告平台seo是什么意思
  • 课程网站建设发展趋势动易网站后台编辑器无效问题
  • 通辽网站建设培训手机网站在线制作
  • 视频弹幕网站怎么做的宁波网站建设制作推广
  • 网站建设原因分析网页搜索图片
  • 网站开发及技术路线个人介绍网页设计模板图片
  • 设计师参考效果图网站邯郸最近发生的重大新闻
  • 重庆做企业网站千锋python培训
  • 怎么介绍自己做的静态网站优秀校园网站
  • 建设免费二级网站手游官网首页
  • 什么网站建设比较好的wordpress 底部导航
  • 携程网站的会计工作怎么做资质类网站如何做优化
  • 公司高端网站设计公司本溪网站设计公司
  • 瑞金建设局网站seo的搜索排名影响因素有哪些
  • 做网站公司共有几处密码中国关于影院建设的网站
  • 网站集约化建设背景外贸网站建设 佛山
  • 百度网站与推广抖音引流推广一个30元
  • 建设金融网站哪家好巴中做网站公司
  • 塑胶科技东莞网站建设广告设计学什么
  • 网站锚文本使用查询网站建站目标
  • 好多钱网站微信注册网站入口
  • 网络建站工作室官网源码深圳2024新冠最新情况
  • 网站备案规则wordpress seo title
  • 深圳网站建设服务哪家专业手机抖音你做我女朋友好吗套路网站
  • 建设部网站办事大厅双域名网站
  • 好的外贸网站的特征微信公众号对接网站做
  • 音响网站模板免费下载开发公司年度工作总结