Elasticsearch
ElasticSearch
elasticsearch是一个基于Lucene的高扩展的分布式搜索服务器,支持开箱即用。
elasticsearch隐藏了Lucene的复杂性,对外提供Restful 接口来操作索引、搜索。
优点:
1.扩展性好,可部署上百台服务器集群,处理PB级数据。
2.近实时的去索引数据、搜索数据。
text 和 keyword 默认是不分词的
建议:建立索引和查询索引使用一样的颗粒,要ik_max_word细颗粒就都用细颗粒,要ik_smart粗颗粒就都用粗颗粒
搜索:搜索的是索引
es近实时搜索依靠logstash
更新是先删除再添加
首先保存课程的时候将所有的数据保存在一个包含课程所有信息的表
使用logstash根据时间戳(timestamp)完成数据的自动采集,保存到索引库
课程删除不做物理删除(物理删除,用定时任务,从索引库中删除,推荐),逻辑删除,设置标识,删除时可以更新索引库
集群
总结
javaEE
spring:方便解耦,简化开发
1. spring 对象关系映射ORM
ORM:对象关系映射 它通过现实ORM规范,完成面向对象的编程语言到关系数据库的映射。它可以把关系型数据库封装成对象,解决面向对象编程语言与底层关系数据库不协调的问题。它是面向对象编程言语与关系数据库之间的桥梁。
ORM映射基本规则
1 | 1. 类与表相对应 |
freemark页面静态化
全局异常处理
异常处理
如下代码
1 | //添加页面 |
前后端分离
前后端分离实现
1 Api请求及响应规范
为了严格按照接口进行开发,提高效率,对请求及响应格式进行规范化。
1、get 请求时,采用key/value格式请求,SpringMVC可采用基本类型的变量接收,也可以采用对象接收。
2、Post请求时,可以提交form表单数据(application/x-www-form-urlencoded)和Json数据(Content-Type=application/json),文件等多部件类型(multipart/form-data)三种数据格式,SpringMVC接收Json数据使用@RequestBody注解解析请求的json数据。
3、响应结果统一信息为:是否成功、操作代码、提示信息及自定义数据。