学成在线--day10 课程发布 ElasticSearch
程序员文章站
2022-06-13 12:30:58
...
学成在线-第10天-讲义-课程发布
1.2 CMS一键发布接口
1.2.1 需求分析
接口的开发大部分还是复制代码,基本没毛病,一键发布页面的接口信息
public CmsPostPageResult postPageQuick(CmsPage cmsPage) {
//将页面信息存储到cms_page 集合中
CmsPageResult save = this.save(cmsPage);
if(!save.isSuccess()){
ExceptionCast.cast(CommonCode.FAIL);
}
//得到页面的id
CmsPage cmsPageSave = save.getCmsPage();
String pageId = cmsPageSave.getPageId();
//执行页面发布(先静态化、保存GridFS,向MQ发送消息)
ResponseResult post = this.post(pageId);
if(!post.isSuccess()){
ExceptionCast.cast(CommonCode.FAIL);
}
//拼接页面Url= cmsSite.siteDomain+cmsSite.siteWebPath+ cmsPage.pageWebPath + cmsPage.pageName
//取出站点id
String siteId = cmsPageSave.getSiteId();
CmsSite cmsSite = this.findCmsSiteById(siteId);
//页面url
String pageUrl =cmsSite.getSiteDomain() + cmsSite.getSiteWebPath() + cmsPageSave.getPageWebPath() + cmsPageSave.getPageName();
return new CmsPostPageResult(CommonCode.SUCCESS,pageUrl);
}
后面看视频有时复制代码,感觉这个课程好水!!操作成功
安装es,双击启动成功
运行他这个header失败,成功运行
Es的文档创建和建立索引都是比较简单的操作,这里就不过多的赘述了
接下来又是复制代码,没得说,大部分情况都在复制代码
//创建索引库
@Test
public void testCreateIndex() throws IOException {
//创建索引对象
CreateIndexRequest createIndexRequest = new CreateIndexRequest("xc_course");
//设置参数
createIndexRequest.settings(Settings.builder().put("number_of_shards","1").put("number_of_replicas","0"));
//指定映射
createIndexRequest.mapping("doc"," {\n" +
" \t\"properties\": {\n" +
" \"studymodel\":{\n" +
" \"type\":\"keyword\"\n" +
" },\n" +
" \"name\":{\n" +
" \"type\":\"keyword\"\n" +
" },\n" +
" \"description\": {\n" +
" \"type\": \"text\",\n" +
" \"analyzer\":\"ik_max_word\",\n" +
" \"search_analyzer\":\"ik_smart\"\n" +
" },\n" +
" \"pic\":{\n" +
" \"type\":\"text\",\n" +
" \"index\":false\n" +
" }\n" +
" \t}\n" +
"}", XContentType.JSON);
//操作索引的客户端
IndicesClient indices = client.indices();
//执行创建索引库
CreateIndexResponse createIndexResponse = indices.create(createIndexRequest);
//得到响应
boolean acknowledged = createIndexResponse.isAcknowledged();
System.out.println(acknowledged);
}
//删除索引库
@Test
public void testDeleteIndex() throws IOException {
//删除索引对象
DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest("xc_course");
//操作索引的客户端
IndicesClient indices = client.indices();
//执行删除索引
DeleteIndexResponse delete = indices.delete(deleteIndexRequest);
//得到响应
boolean acknowledged = delete.isAcknowledged();
System.out.println(acknowledged);
}
//添加文档
@Test
public void testAddDoc() throws IOException {
//文档内容
//准备json数据
Map<String, Object> jsonMap = new HashMap<>();
jsonMap.put("name", "spring cloud实战");
jsonMap.put("description", "本课程主要从四个章节进行讲解: 1.微服务架构入门 2.spring cloud 基础入门 3.实战Spring Boot 4.注册中心eureka。");
jsonMap.put("studymodel", "201001");
SimpleDateFormat dateFormat =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
jsonMap.put("timestamp", dateFormat.format(new Date()));
jsonMap.put("price", 5.6f);
//创建索引创建对象
IndexRequest indexRequest = new IndexRequest("xc_course","doc");
//文档内容
indexRequest.source(jsonMap);
//通过client进行http的请求
IndexResponse indexResponse = client.index(indexRequest);
DocWriteResponse.Result result = indexResponse.getResult();
System.out.println(result);
}
//查询文档
@Test
public void testGetDoc() throws IOException {
//查询请求对象
GetRequest getRequest = new GetRequest("xc_course","doc","tzk2-mUBGsEnDOUe482B");
GetResponse getResponse = client.get(getRequest);
//得到文档的内容
Map<String, Object> sourceAsMap = getResponse.getSourceAsMap();
System.out.println(sourceAsMap);
}
这个ES 真心感觉光听一点用也没用,基本的语法都是那些,来来回都是简单的增删改查的应用,基本都是复制代码,建议跳过这一节的内容
上一篇: 三层浅识
下一篇: 机房重构--C#版三层圆满