Elasticsearch配合mysql实现全文搜索之配环境

一、准备工作

1.操作系统 Ubuntu 16.04.1

2.数据库版本 mysql 5.7.20

3.Logstash的下载链接

4.mysql-connector

二、在系统上查看Curl 工具是否已安装

命令:dpkg -l

发现ubuntnu里有这个工具了就可以接着下一步了

三、在系统上装Elasticsearch

装ES的教程就不细说了,ES装好以后检查服务器中是否可以通过curl命令访问到ES服务

curl -u ES用户名:ES密码 -XGET '服务IP:9200/?pretty'

或者

curl -u ES用户名 -XGET 'localhost:9200/?pretty'

输入密码,默认用户名elastic 密码changeme,出现以下结果说明curl是可以访问到ES服务的

三、安装Logstash

先解压下载的压缩包然后安装插件

命令分别是(在Logstash主目录下运行):

./bin/logstash-plugin install logstash-input-jdbc

./bin/logstash-plugin install logstash-output-elasticsearch

四、在数据库中添加字段

alter table dialogs add updatetime timestamp null default current_timestamp on update current_timestamp ;

五、配置ES-数据库同步的配置文件

首先把jar包拖到当前路径下

接着创建数据库在服务器中中创建Logstash配置文件

文件名为logstash-mysql-es.conf

然后往上写配置参数

library写自己jar文件名

class照着抄

连接参数localhost,端口默认3306,最后是要同步的数据库名

schedule => "*"表示每分钟刷新一次,这也是MySQL数据同步的最小频率

六、同步数据

服务器中指定参数启动Logstash服务,执行命令:

logstash -f logstash-mysql-es.conf

或者

bin/logstash -f logstash-mysql-es.conf

logstash这个东西启动的比较慢,一会冒出来一大堆域名转让平台字符串就是启动成功了

之后会每分钟刷新数据库

往数据库里插入两条数据以后,可以发现ES同步更新了

由于之前在Logstash配置文件中,output部分既配置了输出到ES,同时也输出到控制台。所以当检测到MySQL中有更新时,数据会输出到控制台中,如下图:

在服务器中执行命令检查ES服务中的索引是否被创建。执行以下命令:

curl 'localhost:9200/_cat/indices?v'

显示索引被创建了

然后字段查询call_id为xxxx的东西

curl -u elastic -XGET 'localhost:9200/dialogs/_search?q=call_id:1526895885-273269&pretty'

  • index - 索引名
  • q - 查询指定匹配 使用Lucene查询语法
  • from_ - 查询起始点 默认0
  • doc_type - 文档类型
  • size - 指定查询条数 默认10
  • field - 指定字段 逗号分隔
  • sort - 排序 字段:asc/desc
  • body - 使用Query DSL
  • scroll - 滚动查询
  • took是耗时,毫秒单位
  • time_out 是否超时
  • total 分片
  • hits下面
  • total:结果总数
  • max_score:相似度
  • id:文档唯一标识

至此,MySQL中的数据已经被成功索引到Elasticsearch,并也可以被准实时的检索到

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值