
day10 课程发布 ElasticSearch
文章平均质量分 54
day10 课程发布 ElasticSearch
feng_fly_28
这个作者很懒,什么都没留下…
展开
-
21-ElasticSearch-索引管理-文档的增删改查
6.3 添加文档6.3.1 API格式如下: PUT /{index}/{type}/{id} { “field”: “value”, … }如果不指定id,ES会自动生成。6.3.2 Java Client //添加文档 @Test public void testAddDoc() throws IOException { //文档内容 //准备json数据 Map<String, Object> jsonMa原创 2021-05-14 16:15:25 · 145 阅读 · 3 评论 -
20-ElasticSearch-索引管理-创建索引库
运行 服务运行方法-删除索引 //删除索引库 @Test public void testDeleteIndex() throws IOException { //删除索引对象 DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest("xc_course"); //操作索引的客户端 IndicesClient indices = client.原创 2021-05-12 18:03:52 · 1102 阅读 · 0 评论 -
19-ElasticSearch-索引管理-搭建搜索工程
6索引管理6.1 搭建工程6.1.1 ES客户端ES提供多种不同的客户端:1、TransportClientES提供的传统客户端,官方计划8.0版本删除此客户端。2、RestClientRestClient是官方推荐使用的,它包括两种:Java Low Level REST Client和 Java High Level REST Client。ES在6.0之后提供 Java High Level REST Client, 两种客户端官方更推荐使用 Java High Level REST原创 2021-05-12 17:19:51 · 123 阅读 · 0 评论 -
18-ElasticSearch-映射-常用映射类型
6.2 常用映射类型6.2.1 text文本字段下图是ES6.2核心的字段类型如下字符串包括text和keyword两种类型:1、text1)analyzer通过analyzer属性指定分词器。下边指定name的字段类型为text,使用ik分词器的ik_max_word分词模式。"name": { "type": "text", "analyzer":"ik_max_word"}上边指定了analyzer是指在索引和搜索都使用ik_max_word,如果单独想定义搜索时使用的分词原创 2021-05-12 11:32:55 · 455 阅读 · 0 评论 -
17-ElasticSearch-映射-映射维护方法
6 映射上边章节安装了ik分词器,如果在索引和搜索时去使用ik分词器呢?如何指定其它类型的field,比如日期类型、数值类型等。本章节学习各种映射类型及映射维护方法。6.1 映射维护方法1、查询所有索引的映射:GET: http://localhost:9200/_mapping2、创建映射post 请求:http://localhost:9200/xc_course/doc/_mapping3、更新映射映射创建成功可以添加新字段,已有字段不允许更新。如果真想修改类型,只能删除原创 2021-05-12 09:48:27 · 108 阅读 · 0 评论 -
16-ElasticSearch-IK分词器-自定义词汇
4.4 自定义词库如果要让分词器支持一些专有词语,可以自定义词库。你会发现诺云是公司名称,但是被分开了,所以我们需要自定义词。因为分词器只能把我们生活中比较通用的词加进去,而一些品牌的名称不会加进入,需要我们自己添加。比如诺云这个品牌名称,我们也想在搜索时候,单独加进去,这时候就需要自定义词库。iK分词器自带一个main.dic的文件,此文件为词库文件在上边的目录中新建一个my.dic文件(注意文件格式为utf-8(不要选择utf-8 BOM))可以在其中自定义词汇:比如定义:配置文件中原创 2021-05-12 09:27:52 · 246 阅读 · 0 评论 -
15-ElasticSearch-IK分词器-安装IK分词器
4 IK分词器4.1测试分词器在添加文档时会进行分词,索引中存放的就是一个一个的词(term),当你去搜索时就是拿关键字去匹配词,最终 找到词关联的文档。测试当前索引库使用的分词器:post 发送:localhost:9200/_analyze{"text":"测试分词器,后边是测试内容:spring cloud实战"} 结果如下:会发现分词的效果将 “测试” 这个词拆分成两个单字“测”和“试”,这是因为当前索引库使用的分词器对中文就是单字 分词。{ "tokens": [原创 2021-05-12 09:28:04 · 94 阅读 · 0 评论 -
14-ElasticSearch-快速入门-搜索文档
3.4 搜索文档1、根据课程id查询文档发送:get http://localhost:9200/xc_course/doc/4028e58161bcf7f40161bcf8b77c0000使用postman测试:2、查询所有记录发送 get http://localhost:9200/xc_course/doc/_search3、查询名称中包括spring 关键字的的记录发送:get http://localhost:9200/xc_course/doc/_search?q=name:bo原创 2021-05-11 17:13:58 · 152 阅读 · 1 评论 -
13-ElasticSearch-快速入门-创建文档
3.3 创建文档ES中的文档相当于MySQL数据库表中的记录。发送:put 或Post http://localhost:9200/xc_course/doc/id值(如果不指定id值ES会自动生成ID) http://localhost:9200/xc_course/doc/4028e58161bcf7f40161bcf8b77c0000{ "name":"Bootstrap开发框架", "description":"Bootstrap是由Twitter推出的一个前台页面开发框架,在行业之中原创 2021-05-11 17:07:24 · 160 阅读 · 0 评论 -
12-ElasticSearch-快速入门-创建映射
3.2 创建映射3.2.1 概念说明在索引中每个文档都包括了一个或多个field,创建映射就是向索引库中创建field的过程,下边是document和field 与关系数据库的概念的类比:文档(Document)----------------Row记录字段(Field)-------------------Columns 列注意:6.0之前的版本有type(类型)概念,type相当于关系数据库的表,ES官方将在ES9.0版本中彻底删除type。 上边讲的创建索引库相当于关系数据库中的数据库还是表原创 2021-05-11 16:59:48 · 889 阅读 · 0 评论 -
11-ElasticSearch-快速入门-创建索引库
3 ES快速入门ES作为一个索引及搜索服务,对外提供丰富的REST接口,快速入门部分的实例使用head插件来测试,目的是对ES 的使用方法及流程有个初步的认识。3.1 创建索引库ES的索引库是一个逻辑概念,它包括了分词列表及文档列表,同一个索引库中存储了相同类型的文档。它就相当于 MySQL中的表,或相当于Mongodb中的集合。关于索引这个语:索引(名词):ES是基于Lucene构建的一个搜索服务,它要从索引库搜索符合条件索引数据。索引(动词):索引库刚创建起来是空的,将数据添加到索引库的过原创 2021-05-11 16:34:07 · 600 阅读 · 0 评论 -
10-ElasticSearch-安装与配置-head插件
2.4 head插件安装head插件是ES的一个可视化管理插件,用来监视ES的状态,并通过head客户端和ES服务进行交互,比如创建映 射、创建索引等,head的项目地址在https://github.com/mobz/elasticsearch-head 。 从ES6.0开始,head插件支持使得node.js运行。1、安装node.js2、下载head并运行git clone git://github.com/mobz/elasticsearch-head.gitcd elasticsearc原创 2021-05-11 16:10:20 · 202 阅读 · 0 评论 -
09-ElasticSearch-安装与配置-安装
2 ElasticaSearch安装2.1 安装安装配置:1、新版本要求至少jdk1.8以上。2、支持tar、zip、rpm等多种安装方式。 在windows下开发建议使用ZIP安装方式。3、支持docker方式安装 详细参见: https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html下载ES: Elasticsearch 6.2.1https://www.elas原创 2021-05-11 15:55:07 · 285 阅读 · 0 评论 -
08-ElasticSearch-原理与应用
1.1 介绍官方网址:https://www.elastic.co/cn/products/elasticsearchGithub:https://github.com/elastic/elasticsearch总结:1、elasticsearch是一个基于Lucene的高扩展的分布式搜索服务器,支持开箱即用。2、elasticsearch隐藏了Lucene的复杂性,对外提供Restful 接口来操作索引、搜索。突出优点:1.扩展性好,可部署上百台服务器集群,处理PB级数据。2.近实时的去索转载 2021-05-11 14:23:13 · 84 阅读 · 0 评论 -
06-课程发布-前后端调试
启动服务启动ngnix原创 2021-05-11 14:14:50 · 65 阅读 · 0 评论 -
05-课程发布-课程发布服务端-接口测试
1.4.3 单元测试1、启动RabbitMQ服务2、启动cms服务3、启动cms_client,注意配置routingKey和队列名称注意:client服务的站点和course服务的站点必须一样启动服务进入课程管理的swagger来充当前端启动Nginx访问http://www.xuecheng.com/course/detail/4028e581617f945f01617f9dabc40000.html...原创 2021-05-07 17:48:59 · 76 阅读 · 0 评论 -
04-课程发布-课程发布服务端-接口开发
1.3 课程发布接口启动服务1.3.1 Api接口此Api接口由课程管理提供,由课程管理前端调用此Api接口,实现课程发布。 在api工程下课程管理包下定义接口: @ApiOperation("课程发布") public CoursePublishResult publish(String id);1.3.4 Controller @Override @PostMapping("/publish/{id}") public CoursePublishR原创 2021-05-07 16:55:48 · 200 阅读 · 1 评论 -
02-课程发布-CMS一键发布-接口定义
1.2 CMS一键发布接口1.2.1 需求分析根据需求分析内容,需要在cms服务增加页面发布接口供课程管理服务调用,此接口的功能如下:1、接收课程管理服务发布的页面信息2、将页面信息添加到 数据库(mongodb)3、对页面信息进行静态化4、将页面信息发布到服务器1.2.3 接口定义1、创建响应结果类型页面发布成功cms返回页面的url页面Url= cmsSite.siteDomain+cmsSite.siteWebPath+ cmsPage.pageWebPath + cmsPage.原创 2021-05-07 16:09:14 · 221 阅读 · 0 评论