首先是版本对应,SpringBoot和ES之间的版本必须要按照官方给的对照表进行安装,最新版本对照表如下:
1、开始安装ES:
将下载下来的文件上传到服务器上,我上传的目录是usr/local/es,然后开始解压:
tar-zxvfelasticsearch-7.6.2-linux-x86_64.tar.gz解压后修改config目录下的elasticsearch.yml文件,贴一下我修改的内容:
useraddespasswdes然后输入密码,最小8位数,为用户赋权限:
chown-Res:es/usr/local/es/切换成es用户,cd到bin目录下启动,第一种是前台启动,第二种是后台启动:
如果启动提示了这个错误需要在/etc/sysctl.conf文件最后添加一行
vm.max_map_count=262144执行/sbin/sysctl-p立即生效,之后再重新启动就好了,如果启动的时候提示“failedtoauthenticateuser[elastic]”,不要慌,继续执行下面的步骤;
在上面ES的yml配置中,我们配置了账号验证,所以我们需要重置一下ES账号的密码(确保es已经成功启动才能重置;在es的bin目录下执行):
建议设置成相同的密码,方便记忆,设置成功后就可以直接打开网页去访问了,访问地址是ip:9200,然后输入账号:“elastic”,密码:“123456”
能看到这些就代表ES已经成功启动了!!!
(注:如果小伙伴们是云服务器的话要注意开放服务器的安全组,不然访问不到,开放9200和9300端口,下面的Kibana也需要开放5601的端口!!!)
然后我们现在配置一下ik分词器(中文分词):
ik分词器也是同理,版本必须一致!!!然后把文件上传到ES的plugins目录下,创建ik目录,解压到ik目录下即可。
启动的时候出现这个就代表配置成功了。
2、接下来我们开始配置Kibana:
tar-zxvfkibana-7.6.2-linux-x86_64.tar.gz修改config目录下的kibana.yml文件:
nohup./kibana&如果不想后台启动的直接输入:
没有出现error就可以直接ip:5601去访问了,然后输入之前ES设置的账号:elastic密码:123456,然后大功告成!!!
kibana的操作后面集成了springboot后再做简单的介绍。
3、最后开始集成到我们的springboot项目中去,我本地的springboot版本是2.3.4版本
下面是需要引用的jar包,在pom文件中添加以下依赖:
如果版本不正确的话可以手动修改一下版本,在pom.xml文件中的
#es的链接地址elasticsearch.host=192.168.0.4#端口号elasticsearch.port=9200#账号、密码elasticsearch.username=elasticelasticsearch.password=123456ES操作工具类:
点击左上角的默认图片,点击管理空间,然后点索引管理就能看到所创建好的索引了:
这个就是我们刚刚创建好的索引:
创建好索引后我们添加数据,调用/financialRegulationsData/addAll:
可以发现成功添加了两条,然后我们现在可以看一下数据是否都添加进去了,点击索引模式,点击创建索引模式,根据索引名称创建一个查询界面:
创建成功后点击左菜单栏的指南针图标Discover进去页面查看:
在这里我们就能看到2条数据已经成功插入到了ES中,最后我们做查询,输入“银保监会保护局”,查询出来的数据也做了高亮的处理:
至此SpringBoot集成ES就暂时搞定了,最后提一点,ES的查询默认不会超过1W条数据,如果需要超过1W条需要在kibana中输入命令设置一下:
设置成功后就可以查询超过1w条数据了,其中的数字大家酌情设置。
最后再和大家说一个小秘密,如果数据量较多的话,搜出来的内容越到后面越不准确,这个时候就需要增加一个设置了,需要在这句代码后面加上一下内容,建议填写百分比,这样会稍微准确一点,如果填写数字的话个人感觉效果不太好。
QueryBuilders.matchQuery("regulationsName",name).minimumShouldMatch("70%")到这里以上就是所有内容了,如有问题欢迎指正!
修改、删除由于篇幅问题如果大家有需要的话我再更新一波。