推广

Elasticsearch + Canal 搜索实践

iseeyu2年前 (2024-02-22)推广116

3.项目成果

目前,已经上线了,也迭代了2个版本,效果还可以。不加缓存TPS能达到800多吧,加上缓存可以1w+。

4.项目开发过程简述

        这个项目是从2020年初开始的,那时候正好是疫情爆发,只能在家弄,一直到10月才完工。最开始的时候对es一无所知,一点点学习es的DSL语句,然后转成java api,开始挺痛苦的,等熟悉了就很轻松了。

这个项目主要分两个部分:搜索和同步。

搜索:这个不难,只要DSL写好,翻译成对应的api就好,正常搜索的时候,外部通过http请求到主程序,程序再去es中查询。

同步:稍微有点麻烦,分为实时同步和全量同步。全量同步是根据业务SQL查询所有站点数据,然后同步到es中,通过bulk批量处理,速度也能接受。实时同步用的是canal,它是伪装成mysql的一个slave,获取到数据库的binlog,数据库有数据变更后,会同步一份binlog过来,java程序中的canal client会获取到这些记录,然后根据业务去数据库查数据,再同步到es中。

4.注意事项

    (a) Canal实时同步:阿里开源出来的,折腾了很久,中间也请领导协调阿里的资源,(感谢我的领导黄总和阿里的七峰同学),之前出现同步非常慢的情况,后来跟阿里同学沟通后知道了自己的题,canal的处理流程是串行的,同步速度取决于程序中的业务处理速度,所以我用了多线程,提高并发处理能力,但要做好异常处理,一旦多线程这里出问题,canal同步就停止了,这狠狠坑了我一次。当时生产刚上线是好的,但没多久,就同步失败,上下线不成功。后来发现是取多线程的时候没做控制,找到问题后,do it !,加上控制后就可以了。

(b)Canal 报错:Could not find first log file name in binary log index file。这个报错是日志文件被转移或者删掉了,导致canal找不到,网上查了好久,最后选了一个性价比高的解决方案,定时任务去扫描canal的日志,如果出现这个错,就重启canal服务,并清理meta.dat。

(c)Elasticsearch的搜索建议词结果不准确的坑。这个折磨了我很久,建议词如果要准确要加上下文检索contexts,如果是python写很简单,但es的java版api支持的不是很好,最后去Stack Overflow上找,看到了个官方的回复,用模板查询方法,SearchTemplateRequestBuilder,自己定制化写DSL就能很好的解决。

暂时先写这些,有问题可以私信我。

扫描二维码推送至手机访问。

版权声明:本文由西安泽虎代运营发布,如需转载请注明出处。

转载请注明出处https://www.0291.com.cn/post/56305.html

相关文章

为什么网站优化中搜索排名会消失?恢复网站排名找谁。

为什么网站优化中搜索排名会消失?恢复网站排名找谁。

随着水平的提高,很多站长会发现已经做过或者优化过的网站的搜索排名已经消失。诚然有外部因素影响网站,但从网站的综合因素来看,站长的优化工作也影响到网站的最终发现。 对于一个网站来说,其内部链接的构成对网站有很大的影响。对于所有的站长来说,内部链接是搜索引擎检查的重点,因为内部链接是用户体验...

线下门店线上运营:线下门店如何从0到1做爆抖音同城号。

线下门店线上运营:线下门店如何从0到1做爆抖音同城号。

抖音同城号是抖音上基于定位,向附近的人推荐视频的一种形式。操作简单,只需要在发布短视频的时候开启同城号,短视频就会被投入到同城流量池中,能够被位置附近的用户看到。 抖音同城号是2021年线下实体门店不可错过的一趟流量快车。 相比于直播带货,抖音同城号的加入门槛低、操作简单,更适合实体门店,...

做网站SEO优化,深知搜索引擎算法及时调整优化策略。

做网站SEO优化,深知搜索引擎算法及时调整优化策略。

做优化一定要做什么问题?虽然不知道有多少小合作伙伴在做SEO优化工作,优化我们的网站,但今天我想谈谈网站SEO优化的基本内容。我们应该知道,从品牌推广和流失的角度来看,网站仍然是一些行业非常重要的方式,所以一些行业做好网站SEO以取得好的效果还是可行的,做网站SEO应该注意哪些问题? 做...

普通人如何快速做一个抖音号900万抖音粉丝实操经验。

普通人如何快速做一个抖音号900万抖音粉丝实操经验。

大家好,最近好多朋友都打算今年入局抖音,问我刚开始应该怎么做?我总结了一些自己的经验,供大家参考! 做抖音前需要考虑清楚的问题 做抖音的目的是什么? 为什么会把这个主题放在第一位,是因为我发现95%以上的企业在做抖音的时候都没有考虑清楚这一点。 你做抖音,到底是为了涨粉还是引流转化...

软文推广是什么?软文推广的好处是什么?

软文推广是什么?软文推广的好处是什么?

软文是什么?软文推广的好处是什么?软文说白了,就是一种貌似新闻而里面暗藏着宣传某一企业或商品的文章,而后来软文的发展把软文的概念也放大了,写一些推广的论坛帖子可以叫做论坛软文,也可以写成有趣的故事或使用心得等等,只要是有意宣传某企业或是产品的各类文稿及视频、音频资料都可以叫...

好的网络营销离不开五大营销策划执行力。

好的网络营销离不开五大营销策划执行力。

1、需要一个专业的团队 企业首先要有一支专业的团队做好网络营销工作。现在很多企业都成立了营销部,甚至成立了网络推广项目组,致力于网络营销。该团队应具备以下配置:经验丰富、掌握网络营销技术的网络营销主管、网站开发建设设计师、网站运营、网站美化设计、网站内容更新。收集信息,负责网站优化和推广...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片