-
springboot配置
查看全部 -
elasticsearch-analysis-ik分词器
ik_smart / ik_max_word
POST _analyze
{
"analyzer": "ik_max_word",
"text": "我是中国人"
}
查看全部 -
logstash配置
查看全部 -
配置
查看全部 -
binlog 同步mysql数据到中间件进行解耦
binlog 有阿里canal
官方 有 logstash
查看全部 -
分词器
查看全部 -
分词器 es自带分词器
查看全部 -
总结
查看全部 -
demo
查看全部 -
JavaBean To Es
查看全部 -
1、静态资源访问
查看全部 -
项目配置
查看全部 -
1、设置读取MySQL并且同步到ES的配置文件:
input
指定jdbc驱动jar包位置、驱动类、URL
*设置clean_run=true,清除上次缓存的数据;
配置执行语句。
output
连接ES地址:IP:port
索引
文档id
2、删除索引
3、logstash启动
4、验证同步结果
使用空的搜索参数
5、执行SQL三次迭代:
a.遗漏R12、R22等临界时间点数据
b.造成R11等临界点数据重复,造成额外性能开销
c.解决临界点数据遗漏和数据重复问题
查看全部 -
一、数据同步
1、全量:MySQL数据一次性导入
2、增加:MySQL后续数据的CRUD操作,对应的同步到ES,ES更新数据过程为先删除再插入、
在代码中为CRUD分别配置切面(AOP)也可以实现,但是会造成业务和数据高耦合。
二、中间件
1、MySQL的binlog订阅:实时记录数据变化,通过MySQL的主从复制协议实现客户端,实现数据同步。
2、中间件可以解耦。
3、go语言实现,基于MySQL binlog订阅,不支持ES6.X及以上版本和MySQL8.X及以上版本,且出现数据混乱bug、进程不退出、多表同步到一个index问题。
4、ES官方中间件,logstash
输入源:log4j、MySQL等
必须条件:
id:必须来自MySQL中的id字段,提供了ES和MySQL数据之间的数据对应关系。
time:MySQL表中要有标识创建/修改时间的字段,通过时间比较完成增量同步。
查看全部 -
基于ES实现大数据量搜索
1、新增/删除节点时,主节点都会平均分配所有数据
2、客户端可以将请求发送到任意节点。
查看全部
举报