Spring与ES整合使用
1、 准备工作
了解ES和solr的区别,两者都是基于lucene的全文检索引擎,两者之间的区别有什么。
1、solr在实时的操作数据时,会IO阻塞,导致性能下降。
2、es不需要zookeeper进行集群管理也可使用;
3、es仅支持JSON;
4、如果不是pb级的数据量,两者是没有多大差距的,github使用的是Es。
1.1 elasticsearch6.2.4 下载
1、https://www.elastic.co/cn/downloads/past-releases/elasticsearch-6-2-4
2、打开下载目录下的bin,选择这个文件打开;:
3、在postman工具中测试结果如下,说明安装成功4、由于es对中文支持不好,比如空格什么的,所以需要Ik分词器,可以去github搜索elasticsearch-ik,找到自己的版本下载,解压至es目录下的plugins中,改名字为ik,重启服务即可。可以再日志中看到loadding plugins有analysis ik即可。
5、可以在官网下载对应的Kinbana,方便使用
https://www.elastic.co/cn/downloads/past-releases/kibana-6-2-4
1.2 数据库同步插件logstash
1、数据库同步 https://www.elastic.co/cn/downloads/past-releases/logstash-6-2-4
将mysql-connect-jdbc的jar放目录下
需要在其conf目录下加一个文件 mysql.conf内容如下:
input {
jdbc{
# jdbc驱动包的位置
jdbc_driver_library => "E:\\java-web-env\\es6.2.4\\logstash-6.2.4\\mysql-connector-java-5.1.9.jar"
# 要使用的驱动包类,不同的数据库不同的类
jdbc_driver_class => "com.mysql.jdbc.Driver"
# 数据库的链接信息
jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/eims"
# mysql用户
jdbc_user => "root"
# mysql密码
jdbc_password => "123456"
# 定时任务,多久执行一次查询,默认一分钟,这种配置是无延迟
schedule = "* * * * *"
# 清空上次的sql_last_value记录
clean_run => true
# 你要执行的语句
statement => "SELECT * FROM t_blog WHERE update_time > :sql_last_value AND update_time < NOW() ORDER BY update_time desc"
}
}
output {
elasticsearch{
# es host:port
host => ["127.0.0.1:9200"]
# 索引
index => "eims"
# _id
document_id => "%{id}"
}
}
1.3 elasticsearch-head图形化管理界面下载
1、链接: https://pan.baidu.com/s/1c-WnKWIvf4X8T4jf6GoRjQ 提取码: fdsd
2、前提是要下载node.js,并且正确配置环境变量;
3、打开下图所示的文件
4、在文件中把cluster.name、node.name、network.host和http.port的注释去掉,同时把network.host改为127.0.0.1。
5在文件的末尾加入
http.cors.enabled: true
http.cors.allow-origin: “*”
node.master: true
node.data: true
6、在安装图形管理工具的目录下找到如下图所示文件
7、修改connect中的内容,加一个 hostname: ‘*’ ;
8、npm install -g grunt-cli 安装grunt工具,然后npm install , 接着grunt server
9、在浏览器输入127.0.0.1:9100结果如下即成功至此准备工作完毕。
2、通过RESTful接口测试es的增删改查
2.1 增加
1、如下图所示,即为增加索引成功
2、增加索引里面的内容
2.2 删除
1、如下图所示,即删除索引成功2、删除内容
2.3 获取
1、获取索引
2、获取具体的内容3、模糊查询
来源:CSDN
作者:csdn甑子蛋
链接:https://blog.csdn.net/qq_42046342/article/details/103769092