最近因为项目中需要用到近实时检索,用的elasticsearch,之前没怎么用过,这里先写下spring boot 中搭建 elasticsearch 的过程。
这里先简单说下,elasticseach 是干嘛的,为啥要用?其实,elasticsearch是个近实时,分布式的检索工具,大数据中高效检索需要用到,java写的,底层检索原理是基于lucence的,同样的还有另一个是solr,二者各有优劣,感兴趣的可以度娘。
ok,开始搭建,elasticsearch 有windows的版本,没有采用,这里用虚拟机搭建了一台服务器做实验。
1.服务器上安装elasticsearch,采用的是2.4.5的版本。
附上地址:https://www.elastic.co/downloads/past-releases
下好了,直接解压即可,关于elasticsearch的配置不介绍,这里就用默认配置,bin目录下,命令启动即可。
第一个地方注意:不能用root启动,处于安全性考虑,因此创建了新用户es和用户组。
ok,没报错,试下是否启动成功,注意这里需要将虚拟机中的防火墙关闭。
上面这个页面表示启动成功。
2.安装elasticsearch插件
为了方便,我们一般需要安装插件,不安装插件也可以的,直接用curl -X命令调用也可以,一般有head,bigdesk,marvel等插件,为了简单就用head插件。
安装步骤:进入bin目录中,./plugin install mobz/elasticsearch-head。
表明安装成功。
3.搭建工程
有个空的spring boot项目。
第一步:下载jar包,pom文件中增加:
第二步:application.yml中配置elasticsearch的地址。
其中,cluster-name 用的默认值,如果需要改可以在elasticsearch的配置文件中修改。
第三步,写代码测试了,就是这么简单。
这里我简单写了Article类。index是librarytest,type是article。
写了个单元测试下。不多说了,具体代码可从码云上下载。
执行单元测试。
ok,搭建成功。