搜索是软件工程
师的一项必备技能。而站内搜索,是大部分网站,特别是内容型网站的必备功能。Go 语言中文网作为一个 Go 语言社区,自然得有搜索功能。因为之前工作中用过 Solr,在开发这个网站时,使用了 Solr,那时候 Solr 也是不错的选择。
然而经过这么多年的发展,有另一个强大的搜索引擎出现了,这就是 ElasticSearch,它
就是一款功能强大的开源分布式搜索与分析引
擎,在同领域几乎没有竞争对手——近三年 DB-Engines 数据库评测中,ES
在搜索
引擎领域始终位列第
一。
此外,Elasticsearch 还被广泛运用于大数据近实时分析,包括日志分析、指标监控、信息安全等多个领域。作为目前最流行的开源搜索引擎,Elasticsearch 的全球下载量已超过 3.5 亿次,BAT、京东、滴滴、头条、饿了么、360 安全、小米等公司都在使用。
看到了这个专栏后,我计划将 Go 语言中文网的搜索功能迁移到 ElasticSearch 上,如果你有兴趣,也欢迎参与这件事情,可以作为学习这个专栏后的动手实践。
Elasticsearch 具有开箱即用的特性,几分钟设置好开发环境,就可以在成百上千台服务器上实现 PB 级数据处理,但要深入理解、高效使用,就没那么简单了,比如:
1.为什么我的数据查不到,明明有的啊!
2.这几条数据怎么会出现在搜索结果前几位?
3.生产环境需要多少台机器,索引的分片数怎样设置才合理?
4.应该关注哪些指标,才能保证集群健康高效地运行?
5.对于日志型应用,如何设置 Hot & Warm Architecture 节约成本,怎样管理和优化基于时间序列的索引数据,才能提高集群的整体性能?
6.为什么我的集群脑裂了?数据损坏后,怎样才能恢复?
其实,想要用对、用好 Elasticsearch,不仅要理解其分布式架构的原理,还要掌握一些信息检索领域的知识。这里,分享给你一张 Elasticsearch 知识图谱,深入理解每个知识点,才能解决工作中的实际问题。
这张图出自阮一鸣,他是 eBay Pronto 平台技术负责人,管理了 eBay 内部上百个 Elasticsearch 集群,数据规模超过 4000 节点,支撑了订单搜索,商品推荐,日志管理,风险控制,IT 运维,安全监控等不同领域服务。
最早,听过他在 Elastic 中国开发者大会的分享,讲得非常不错。所以,那会儿得知他出了个 Elasticsearch 视频课,我第一时间就订阅了。跟着学下来,感觉收获很大,帮我解决了工作中的不少问题,上面那张图就是我从课程里搬运过来的。
Elasticsearch 产品迭代很快,市面上的书和教程大都基于 5.x 甚至 2.x 版本。而在课程中,阮一鸣用 Elasticsearch 最新 7.x 版本,讲了很多新特性,比如:用机器学习进行异常检测;用 Canvas 展示数据;用索引的生命周期管理工具对索引进行优化等等。
内容也很全面,开发运维都有,共计 100 讲,由浅入深地讲解了 ES 的基本概念和服务搭建,带你手把手部署与优化生产环境,了解其运行机制和常用技巧,并通过上手实战,掌握 ES 在实际项目中的应用,灵活使用 ELK 进行搜索和大数据分析。
值得一提的是,课程还覆盖了 Elastic 官方认证的全部考点,也算技术之外的加餐了。要知道,这个考试在圈里出了名的难通过,毕竟都是上手实操题。而课程中的测试用例,就是非常好的练习素材,说实话,每个 case 的代码我都敲过 3 遍以上。
跟着学下来,感觉自己进步非常快。前段时间公司要在私有云上管理和部署 Elasticsrarch 集群,全靠这门课了。今年再加把劲儿,把 Elastic 认证考下来。
其实不光是我,这课还帮到不少人,截了些评价供你们参考:
跟着好好学,结合课程中的练习,你也能学以致用,构建出自己的搜索和数据分析产品。要再能拿个官方认证,岂不乐哉。
重要的事情,说两遍:
课程 3 天后 涨价至 ¥199,现秒杀+口令「elastic66」到手仅 ¥99,立省 ¥100。
建议你把握好,机会总是留给有准备的人。