开发环境:Win10
开发环境:STS
简介:本文主要比较传统的Mysql查询和ES查询的效率以及代码实现。另外,使用logstash同步mysql数据也可以直接理解为”数据同步中间件”,也就是ik断词器,例如断词查询是什么,例如:是否属于”我是中国人” “,根据我们的口头描述,实际上可以将其分为” I”,”是”,”中文”,” China”,” People”等等,但是代码只会逐字输出,即ik tokenizer查询是冷代码输出的更友好表达。
上一篇文章详细解释了ElasticSearch + Kibana + logstash的安装方法。本文主要讨论实战。实际上,博客作者还有两天的学习时间。对于ElasticSearch + Kibana + logstash可以说只是单方面的理解,但是博客作者始终认为事实是通过实际战斗验证的。当然,这不是让您这样做。仍然需要基本的学习和理解。该项目将得到更好的理解。
该测试方法可以使用邮递员或kibana的可视页面。新手建议使用kibana。首先了解如何使用它,否则它不会徒劳,并且kibana将具有自动关联提示功能,使用起来更加方便。 。
首先讨论使用kibana进行简单的索引创建,索引查看,索引更新和索引删除。
?
匹配:可以有多个,您可以看到它应该为数组形式
应该:等同于sql语句中的OR
?如果要使用类似于AND的方法,则必须进行更改。您可以看到有几种方法,可以尝试一下。
?
?这些示例只是基本的开发工具的添加,删除,更改和更正,您还可以深入研究许多其他示例,因为我也是二手书负责人,撰写博客主要是为我做笔记,如果我可以帮助他人。
安装问题已经提到过,仍然有必要提一下,安装后的版本必须与es,kibana,unzip保持一致
目录结构是相同的:
主要要点是与mysql进行数据同步,然后需要mysql jar,下载地址为:http://central.maven.org/maven2/mysql/mysql-connector-java/
再一次,mysql.jar软件包的版本必须更高,类似于或高于您的es和logstash版本,否则会出现一些错误,博客曾经遇到过,并且低版本导致一致的同步错误。
因此,有一个问题,logstash如何实现与mysql数据的同步?
实际上,我们都知道mysql有一个名为binlog的日志。这是对二进制日志文件的简单理解。 Logstash基于binlog来同步数据。对于binlog,首先想到的是主从复制。假装为从节点(从节点)以同步数据。
由于已同步,因此将有两个通用术语,即完整和增量:
全部金额易于理解,所有数据一次打包并同步到es
增量表示新插入的数据和旧数据已被修改或删除,然后可以通过id或时间标识字段对数据进行增量
下载完成后,将mysql.jar程序包与bin放在同一级别,并在config程序包下创建一个新的mysql.conf文件。文件内容:
以上常用的都可以理解,主要讲的是:
配置完成后,启动logstash。让我们谈谈logstash的开始方式。它与es/kibana不同。指定配置文件路径
首先将Cmd移至logstash/bin路径,命令:
当控制台看到配置文件中的sql已执行时,表示它已成功启动。
转到kibana控制台以查看是否成功。请参阅下面的图片以表明它已成功。
然后再次查看数据以确定它是否真的成功。
概念:关于什么是分词器查询,例如:如果它属于”我是中国人”一词,根据我们的口头描述,它实际上可以分为” I”,” Yes”和”中文”,”中国”,”人”等这些,但是代码只会逐字输出,ik标记器查询是冷代码输出的一种更友好的表达方式。
让我们看一下这种冷智弱智的原始分词查询处理的结构
gihub地址:https://github.com/medcl/elasticsearch-analysis-ik/releases
已经有很多版本,只需下载并保留相同版本的es。下载完成,解压缩并将所有文件复制到
G:\\\\ ES \\\\ elasticsearch-6.7.2 \\\\插件在ES安装路径中的插件下,您可以创建一个新文件夹用于特殊存储。然后重新启动es
好的,让我们再次使用kibana来查看分词的效果。 ik中有两种分词方法:
第一个:ik_smart
第二:ik_max_word更聪明
这些事情怎么说,实现的方式真的让我流泪,知道真相,也就是说,在config下,有很多txt文件,打开后您会惊喜地发现它们全部都整理在文档如果您不相信,可以在main.txt的底部写一个句子并手动配置内容,这也可以达到分词的效果。
?惊讶吗意外?
以上已结束,实际战斗代码即将到来,请执行博客查询
构建表:直接sql脚本
创建一个新的springboot项目
pom依赖项:
MysqlBlog.java
MysqlBlogRepositroy.java持久层基于Jpa
EsBlogRepositroy.java
DataController.java
邮递员打开测试。 。 。