Springboot-ElasticSearch

1.检索ElasticSearch

分布式搜索服务

这里也是作为一个服务存在的,不是嵌入到springboot里面的

如果是在linux上下载完ElasticSearch以后,启动的话会占用2个G的内存空间

es 内层key查询命令_es 内层key查询命令

这里的9300是用于分布式节点访问端口

在这里可以改写ES的内存,这里的命令就不说了,有点像之前启动springboot的各种

的一些特点

obj最终是以json格式被存在ES上的

es 内层key查询命令_Data_02

3.简单的基本操作

ES是一个分布式数据库,说是拿来做索引,其实就是根据你的业务,把他们来作为一个数据库,而这个数据库的特点就是索引

这里给的dmeo是使用Restful风格,用PUT/GET/HEAD/DELETE这些一般不用的HTTP请求方式

在这里springboot是默认使用spring DATA来操作ES

4.springboot操作es

有2种技术支持操作es:Jest(默认不生效、如何用Jest操作es就不在这里写了)、springData ElasticSearch

所以我们默认使用springData ElasticSearch,涉及到有:

①Client 节点信息clusterNodes;clusterName

②ElasticSearchTemplate 操作es

③编写一个ElasticsearchRespository的子接口来进行crud,这里有点像JPA

④版本问题,如果有版本问题,要么换springboot,要么换es,这里选择换es

.springData ElasticSearch的实际操作

①写一个bean实体类,标注@Document,用来指定索引,类型,连写indexName、type等

②写一个repository的接口,然后继承es的repository的接口,然后就可以使用操作es的api了(一样类似JPA:动态代理直接用接口操作)

Springboot-Task

1.异步任务

我们在application上面加一个@EnableAsync注解表示开启了异步任务,什么意思呢

你在你写的servcie层的方法上面加了@Aysnc注解以后,如果在controller层调用该service方法,另开线程,所以这里的service方法不会堵塞

2.定时任务

@EnableScheduling:开启定时任务注解

@Scheduled:给需要定时的方法上加这个注解,这里使用到了一个叫做"cron表达式",cron表达式,可以给定时任务设置时间

es 内层key查询命令_springboot_03

es 内层key查询命令_es 内层key查询命令_04

3.邮件任务

es 内层key查询命令_Data_05

这里注意一点,配置使用的密码是你的邮箱账户里面的一个第三方许可登录的密码,还有ssl的设置的,用到的时候再看吧

小结:

springboot快弄完了,坚持弄完,详细研究下怎么搞redis/es/mysql的集群问题