- 分布式;
- 全文检索;
- 实时快速;
- Restful API;
例子:
MySql:
ES:
ElasticSearch下载
Kibana下载地址
postman对es的交互API:
- 查看所有索引:
- 创建索引-test:
- 删除索引-test:
- 创建索引-person:
- 新增数据-person-1:
- 新增数据-person-2:
- 搜索数据-person-id:
- 搜索数据-person-name:
kibana对es的交互
/dev tools/console下
查看所有索引:
查看id为1的数据:
搜索查询数据:
1.1 Mysql建表测试检索速度
查询语句:
1.2 ElastciSearch为什么搜索快呢?
底层基于倒排索引
分布式
2.1 开源的中间件介绍
-
binlog订阅
- alibaba/canal:阿里巴巴开源组件。MySQL binlog增量订阅&消费组件
- go-mysql-elasticsearch:go语言的组件。
- logstash:官方提供的组件
2.2 logstash来增量、全量同步数据解决方案
Logstash下载地址
mysql-connector-java下载地址
在下载的logstash中放入
在config中新建一个文件,内容如下:
启动方式:
在kibana中验证:
, 查看其_all底下的count字段。
3.1 内置分词器
standard : ES默认分词器,将单词转换为小写,去除停用词与符号,支持中文——单字切分
simple :通过非字母字符进行切分,统一化为小写,去除数字类型字符
whitespace :不支持中文,不转换为小写,只去除空格,
language :特定语言的分词器,不支持中文
测试分词效果:
3.2 引入elasticsearch-analysis-ik分词器
从github下载对应版本的分词器。解压之后,在elasticsearch中的plugins中新建一个ik文件夹,放入解压之后的文件即可。重启之后
(1)文件
(2)配置选项
(3)
MySQL出发
ES出发