es mysql 查询效率,ElasticSearch + Kibana + logstash+ik结合springboot代码实现,比较ES和传统Mysql查询效率...

bc3f9276acf88283a0569b9b9ef9ee92.png

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

开发环境:Win10

开发环境:STS

简介:本文主要比较传统的Mysql查询和ES查询的效率以及代码实现。另外,使用logstash同步mysql数据也可以直接理解为”数据同步中间件”,也就是ik断词器,例如断词查询是什么,例如:是否属于”我是中国人” “,根据我们的口头描述,实际上可以将其分为” I”,”是”,”中文”,” China”,” People”等等,但是代码只会逐字输出,即ik tokenizer查询是冷代码输出的更友好表达。

上一篇文章详细解释了ElasticSearch + Kibana + logstash的安装方法。本文主要讨论实战。实际上,博客作者还有两天的学习时间。对于ElasticSearch + Kibana + logstash可以说只是单方面的理解,但是博客作者始终认为事实是通过实际战斗验证的。当然,这不是让您这样做。仍然需要基本的学习和理解。该项目将得到更好的理解。

该测试方法可以使用邮递员或kibana的可视页面。新手建议使用kibana。首先了解如何使用它,否则它不会徒劳,并且kibana将具有自动关联提示功能,使用起来更加方便。 。

首先讨论使用kibana进行简单的索引创建,索引查看,索引更新和索引删除。

2aa7937063fdf037b8de07d51c6fcc6d.png

8311b2a26a20b69875dd8b522a50d5e3.png

d6ecbcd23d2917ee3541ce05a1c05e44.png

14a863d738f9dc8c77377b91af859c02.png

aa2b11a8b1ff2356d58e265f36212419.png

匹配:可以有多个,您可以看到它应该为数组形式

应该:等同于sql语句中的OR

c1c9abc42fbd9ae862ad4c121587d52b.png

?如果要使用类似于AND的方法,则必须进行更改。您可以看到有几种方法,可以尝试一下。

a7d1c7a52643c2782d1be525866536a2.png

8bb6fc957e43ce27f5ceb4bdf9f77d9a.png

?这些示例只是基本的开发工具的添加,删除,更改和更正,您还可以深入研究许多其他示例,因为我也是二手书负责人,撰写博客主要是为我做笔记,如果我可以帮助他人。

安装问题已经提到过,仍然有必要提一下,安装后的版本必须与es,kibana,unzip保持一致

目录结构是相同的:

21e8bbaa1bb0457a136964f46e3126c6.png

主要要点是与mysql进行数据同步,然后需要mysql jar,下载地址为:http://central.maven.org/maven2/mysql/mysql-connector-java/

再一次,mysql.jar软件包的版本必须更高,类似于或高于您的es和logstash版本,否则会出现一些错误,博客曾经遇到过,并且低版本导致一致的同步错误。

因此,有一个问题,logstash如何实现与mysql数据的同步?

实际上,我们都知道mysql有一个名为binlog的日志。这是对二进制日志文件的简单理解。 Logstash基于binlog来同步数据。对于binlog,首先想到的是主从复制。假装为从节点(从节点)以同步数据。

e48163b99cae876f06f071abaaa6cc8a.png

由于已同步,因此将有两个通用术语,即完整和增量:

全部金额易于理解,所有数据一次打包并同步到es

增量表示新插入的数据和旧数据已被修改或删除,然后可以通过id或时间标识字段对数据进行增量

下载完成后,将mysql.jar程序包与bin放在同一级别,并在config程序包下创建一个新的mysql.conf文件。文件内容:

以上常用的都可以理解,主要讲的是:

配置完成后,启动logstash。让我们谈谈logstash的开始方式。它与es/kibana不同。指定配置文件路径

首先将Cmd移至logstash/bin路径,命令:

当控制台看到配置文件中的sql已执行时,表示它已成功启动。

a16753dd662b518bd148664fd28e60ac.png

转到kibana控制台以查看是否成功。请参阅下面的图片以表明它已成功。

77a777b8e0c5a4f5bba56f54d57fc5c6.png

然后再次查看数据以确定它是否真的成功。

76f35349646a628bb6d8dd03ea05cb24.png

概念:关于什么是分词器查询,例如:如果它属于”我是中国人”一词,根据我们的口头描述,它实际上可以分为” I”,” Yes”和”中文”,”中国”,”人”等这些,但是代码只会逐字输出,ik标记器查询是冷代码输出的一种更友好的表达方式。

让我们看一下这种冷智弱智的原始分词查询处理的结构

c22f2ede6f15d6cdb05127b4026fbbfc.png

gihub地址:https://github.com/medcl/elasticsearch-analysis-ik/releases

已经有很多版本,只需下载并保留相同版本的es。下载完成,解压缩并将所有文件复制到

G:\\\\ ES \\\\ elasticsearch-6.7.2 \\\\插件在ES安装路径中的插件下,您可以创建一个新文件夹用于特殊存储。然后重新启动es

好的,让我们再次使用kibana来查看分词的效果。 ik中有两种分词方法:

第一个:ik_smart

89821e78aee3d1070f45d78eeda73bae.png

第二:ik_max_word更聪明

17f98a7925eb39dd82313b486ded263d.png

这些事情怎么说,实现的方式真的让我流泪,知道真相,也就是说,在config下,有很多txt文件,打开后您会惊喜地发现它们全部都整理在文档如果您不相信,可以在main.txt的底部写一个句子并手动配置内容,这也可以达到分词的效果。

?惊讶吗意外?

以上已结束,实际战斗代码即将到来,请执行博客查询

构建表:直接sql脚本

创建一个新的springboot项目

pom依赖项:

MysqlBlog.java

MysqlBlogRepositroy.java持久层基于Jpa

EsBlogRepositroy.java

DataController.java

邮递员打开测试。 。 。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值