ITPub博客

首页 > IT基础架构 > > Elasticsearch配合mysql实现全文搜索之配环境

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

作者:格伯纳 时间:2020-06-01 12:01:49 0 删除 编辑

第一次写技术博客不太会弄,大家凑合看吧


一、准备工作

1.操作系统 Ubuntu 16.04.1

2.数据库版本 mysql 5.7.20

3.Logstash的下载链接

Logstash | Elastic​www.elastic.co图标

4.mysql-connector

Download Connector/J​dev.mysql.com

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

命令:dpkg -l

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

三、在系统上装Elasticsearch

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

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

或者

curl -u ES用户名 -XGET 'http://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,并也可以被准实时的检索到

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31509949/viewspace-3127386/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
管理员

注册时间:2018-03-30

  • 博文量
    2383
  • 访问量
    984453