ElasticSearch与搜索微服务
es是一个实时的分布式搜索和分析引擎,快速处理大数据。
es的底层是Lucene
es提供一个分布式多用户能力的搜索引擎,基于restful web接口
es的特点:实时搜索,稳定,可靠,安装使用方便。
1 ElasticSearch的特点及体系结构
特点:
1 大型的分布式集群(数百台服务器)技术
2 将全文检索,分布式,数据分析技术结合在一起
3 开箱即用,部署简单
4 全文检索,同义词处理,相关度排名,复杂数据分析,海量数据接近实时处理
体系结构:
es | mysql
索引(index) | 数据库(databases)
类型(type) | 表(table)
文档(document) | 行(roW)
2 安装elsaticsearch,能够调用restapi完成基本的增删改查
3 安装head插件和基本用法
作用:使用图形化界面来实现es的日常管理
用法:1 新建索引 2 新建或修改文档 3 搜索文档 4 删除文档
4 使用SpringDataElasticSearch完成搜索微服务
###1 搭建搜索微服务
1 引入es依赖
2 修改配置文件(1 微服务端口 2 服务名称 3 es访问端口)
3 创建启动类
###2 添加文章
1 创建实体对象
2 创建数据访问接口
3 创建业务逻辑类
4 创建控制器
###3 文章搜索
1 在文章搜索中创建搜索方法接口
2 实现搜索接口
3 实现方法控制器
5 使用LOGSTASH完成MySQL与elasticsearch的同步工作
logstash:一款轻量级的日志搜索及处理框架
MySQL数据导入elasticsearch:
1 在logstah-5.6.8安装目录下创建MySQLETC(名称随意)
2 文件下创建msql.cof
3 将mysql驱动包mysql-connector-java-5.1.46.jar拷贝至D:/logstash-5.6.8/mysqletc/ 下 。D:/logstash-5.6.8是你的安装目录
4 执行logstash ‐f ../mysqletc/mysql.conf,观察控制台输出,每间隔1分钟就执行一次sql查询。,再次刷新elasticsearch-head的数据显示,看是否也更新了数据