疲劳是最舒适的枕头,努力工作吧。

从MySQL建立Elasticsearch索引-引言

Elasticsearchhufuman 发表了文章 • 0 个评论 • 3501 次浏览 • 2019-07-16 23:19 • 来自相关话题

本文始发于知乎Elasticsearch专栏:[从MySQL建立Elasticsearch索引-引言](https://zhuanlan.zhihu.com/p/73349672)

日常工作里,因业务需要大量使用了Elasticsearch。为了简化索引的开发工作,我们需要一个易用可扩展的MySQL到ES的同步框架,在比较了可以找到的各种开源框架&工具后,我们还是选择自行研发了一个,名字简单粗暴:es-common。

背景

16年我接手了并负责了部门所有业务的搜索系统,旧搜索系统是基于Lucene自研实现的一个搜索框架,包含了平表创建、全量索引、增量索引、搜索引擎四个部分基础功能的封装;另有一个管理系统,用于配置索引、字典等信息。框架的实现思路是通过建立平表,简化索引创建的过程。

接手该系统以后,各业务出现井喷式发展,各种需求铺天盖地,同时该系统的不稳定性也开始作妖,最早三个人的小团队每天都疲于奔命。解决现有问题的同时,也在查找更好的解决方案。于是Elasticsearch进入视野。
基于JSON的交互、分布式、数据与逻辑隔离、开箱即用、稳定等特性,使我们确定了向ES转型的计划。每个点都是现有系统没有解决的问题,具体的点就不吐槽了。

选择

我们的需求有:

  1. 支持全量、增量建立索引,以使数据变更较快体现
  2. 支持更新指定文档,以处理突发问题
  3. 索引有版本控制,以防止出现问题无法快速回滚
  4. 尽量减少代码开发,减少出错概率,更专注业务
  5. 简单的出错处理,失败检测等
  6. 支持插件化开发,提供额外数据
  7. 支持简单的规则,类似合并同主键数据
  8. 域名、AUTH不可见,以满足安全要求
  9. 支持非MySQL来源的数据,因为微服务的存在,不是所有数据都能从DB获取到

    当时的调用结果已经找不到了,那么按照现在可以搜索到的框架和工具来重新做调研好了。简单搜索了一下MySQL到ES的同步框架或者工具,有以下几个:

  10. 需要提供DB的URL、User和Password等,我们公司由于安全的考虑,是无法拿到这些参数的;
  11. 有部分数据是通过微服务获取的,单纯的SQL是无法访问微服务的;
  12. 有的表数据量比较大,需要分片多JOB同时处理,JDBC在这点上操作比较麻烦;
  13. 增量是需要按照主键进行更新的,按照时间扫描对表压力比较大;
  14. 类似工具无法走常规发布,有一定的发布风险

    基于以上原因,我们选择了自己研发了一个框架,用来满足我们的需求。下篇文章讲介绍es-common的实现思路。

社区日报 第671期 (2019-07-16)

社区日报kimichen123 发表了文章 • 0 个评论 • 1637 次浏览 • 2019-07-16 21:22 • 来自相关话题

1、ElasticSearch与NoSQL之差异比较。
http://tinyurl.com/y3h9qund
2、Pandora日志收集实战。
http://tinyurl.com/y6r9mobm
3、ElasticSearch冷热数据分离介绍。
http://tinyurl.com/y6phaw9m

编辑:叮咚光军

归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup

如何将一个大的index根据日期拆分成每周一个小index

Kibanabellengao 回复了问题 • 3 人关注 • 1 个回复 • 1524 次浏览 • 2019-07-16 23:10 • 来自相关话题

关于GET和Search的效率问题,求教各位前辈

Elasticsearchbellengao 回复了问题 • 3 人关注 • 1 个回复 • 1370 次浏览 • 2019-07-16 23:17 • 来自相关话题

可以对keyword类型的字段进行fuzzy query?

Elasticsearchfantuan 回复了问题 • 2 人关注 • 1 个回复 • 5445 次浏览 • 2019-07-17 18:52 • 来自相关话题

ELK安全模式 logstash 以及Kibana只读账户权限设置

回复

Elasticsearchqq89267388 发起了问题 • 1 人关注 • 0 个回复 • 2286 次浏览 • 2019-07-16 14:37 • 来自相关话题

es字符串时间(text类型)怎么比较大小

Elasticsearchvergilyn 回复了问题 • 3 人关注 • 2 个回复 • 8239 次浏览 • 2019-07-17 10:52 • 来自相关话题

es存储data多路径,会不会根据多路径的存储大小,均衡存储写入

ElasticsearchOmbres 回复了问题 • 3 人关注 • 1 个回复 • 2348 次浏览 • 2019-07-17 10:29 • 来自相关话题

ELK 7.2 启用安全认证功能后 API如何连接ELK做查询

Elasticsearchbellengao 回复了问题 • 2 人关注 • 1 个回复 • 2657 次浏览 • 2019-07-16 12:53 • 来自相关话题

elasticsearch 7.2 update 无响应

回复

Elasticsearchlixiaopeng 发起了问题 • 1 人关注 • 0 个回复 • 1980 次浏览 • 2019-07-16 11:39 • 来自相关话题

Elasticsearch使用类似having查询满足条件的数据

Elasticsearchsun_tie 回复了问题 • 7 人关注 • 6 个回复 • 8748 次浏览 • 2020-05-06 16:36 • 来自相关话题

如何比较高效的实现类似sql中的like '%xx%'查询?

ElasticsearchOmbres 回复了问题 • 3 人关注 • 1 个回复 • 3609 次浏览 • 2019-07-16 09:51 • 来自相关话题

请教用mutate过滤字符串的问题

LogstashDm 回复了问题 • 4 人关注 • 2 个回复 • 3178 次浏览 • 2019-07-16 10:38 • 来自相关话题

如何用grok匹配类似『1.4.2』这样的数字?

自然语言处理Reilee 回复了问题 • 4 人关注 • 1 个回复 • 3142 次浏览 • 2019-07-17 09:04 • 来自相关话题

社区日报 第670期 (2019-07-15)

社区日报cyberdak 发表了文章 • 0 个评论 • 2604 次浏览 • 2019-07-15 20:20 • 来自相关话题

1、I-team 博客全文检索 Elasticsearch 实战
https://tinyurl.com/y3u8hels
2、ElasticSearch 多值类型的数据存储
https://tinyurl.com/y39jr2dg
3、ELK:kibana使用的lucene查询语法
https://tinyurl.com/y5uyagn4

编辑:cyberdak
归档:https://ela.st/cn-daily-all 
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup