相信坚持的力量!Elastic 日报 1000期+ 了......
2020年7月16日,Elasticsearch 日报 迎来了第1000期。
1、什么是 Elastic 日报?
Elastic 日报是由魏彬老师(中国首位 Elastic 认证工程师)发起的,对标参考的是湾区日报。
发布周期:每天推送 3 篇+ Elastic stack 相关文章。 发布地址:Elasticsearch 中文社区网站:elasticsearch.cn,并支持邮件推送。 核心使命:专注 Elastic Stack 技术栈,每天精选推送3篇优质文章,助力你我每天精进一点点。
第 1 期日报的发布日期为:2017-07-30日,除节假日外,周末无休,到今天已坚持了近3年。
2、Elastic 日报编辑
几乎都是来自一线互联网公司的 Elastic Stack技术栈的实践者、爱好者。
共10几位编辑,每天一位轮值(共7位),一位负责审稿,其他替补辅助。
3、Elastic 日报文章怎么选择?
积累的境内外优秀博客资源库文章筛选,如:Elasticsearch 官方博客
平时工作实战中发现的优秀博文或者精彩问答
国内外资源库的检索 包含但不限于:google,stackoverflow,discuss.elastic.co,github,twitter, facebook, 微信搜索,微博搜索,知乎,简书等
平时关注的 Elasticsearch 相关公众号的推文
朋友圈、看一看等发现的好友推荐的文章
等等等等
总之,各位编辑不会放过全球任何一篇 Elastic Stack 优秀文章。
4、Elastic 日报 是 Elastic stack 技术圈子 最牛逼的文章聚集地,没有之一!
如题,不解释。
5、1000 期日报可视化统计分析
5.1 实现步骤拆解
爬虫确立数据源
Elastic 日报是分散到Elastic 中文社区的,时间跨度3年+,可以逐个翻看,但要仅针对全量的日报文章检索,是不支持的。
数据清洗
(1)各位编辑的风格有不一致的地方,需要清洗一致。
(2)为实现数据的多维分析,日报数据做必要的字段扩充。
数据建模(Mapping定义)
结合可视化分析呈现,准确敲定字段类型。
数据可视化分析 多种分析维度展示日报数据。
从采集到最后可视化的全过程推荐阅读:实战 | ELK实现全量Elastic日报(2017-2019)多维度可视化分析。
本文是基于去年思路做了扩展,细节不再重复赘述。
5.2 可视化分析结果
5.2.1 全维度展示
5.2.2 总量统计
1000篇 日报,共 2707 篇文章(过滤掉了一些广告文)。
5.2.3 走势统计
按月统计,借助:data_histogram实现。
5.2.4 日报编辑发文统计
日报编辑发文占比统计 Top 10。
5.2.5 日报标题词频统计
词云图是借助Kibana实现,词频统计图为了清晰展示借助excel报表实现。
词云实现借助: fielddata实现。
可以看到:系统、构建、指南、运行、插件、性能、实现、索引、分析、优化、实战、监控、查询 这些都是Elastic 从业者最熟悉的词!
5.2.6 日报来源统计
这是本次统计较去年文章不同的地方。主要做了:短地址转长地址,长地址提取主域名,主域名统计分析。
看的出来,这就是Elastic Stack 最牛逼博文来源的排行榜!
微信公众号、Elastic 官方博客、Github的文章位列前三甲,文章质量相对较高,深得各位编辑的喜爱!
值得一提的是:国外博客平台:medium 类似国内的简书,文章质量极高!
这也给我们后续筛选优质技术博文提供了依据。
6、实践避坑
6.1 词云呈现
text 类型本身不支持聚合,建模阶段需要开启:fielddata:true。以实现 text 字符串的切分。
为后续词云做准备。
实现如下:
"title": {
"type": "text",
"analyzer": "ik_smart",
"fielddata": true,
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
6.2 短地址转长地址
日报 url 格式都是短链接地址。如果要做发文域名统计,势必要先将短地址转为长地址。
然后将长地址的主域名解析提取出来。
短地址转长地址方案有很多,推荐如下 head 请求方式实现:
[root@centos ~]# curl -s head http://t.cn/A6y0HNBq |grep HREF | awk -F "=" '{ print $2 }' | awk -F "\"" '{ print $2}'
https://medium.com/@tharangarajapaksha/elk-stack-in-k8s-cluster-13bb509185e0
其他方案如下,对非国内长链接不适用。
try:
response = urllib.request.urlopen( url, timeout=500 )
except Exception as e:
print( "error: " + str( e ) )
return ""
return response.geturl( )
7、全量 日报 Excel 下载地址
全量日报列表下载,全网首发。
留言回复:日报 获取下载链接。
相信能助力你的工作,节省你的时间。
7、小结
medcl 大神在1000期的日报群里写到:“这就是坚持的力量”!
是的,相信坚持的力量,才能变不可能为可能,变可能为一定能!
期待第10000期,第100000期 Elastic 日报......
不足之处:仍没有 content 文章正文内容,因为涉及不同网站的解析、不同语种的翻译,
如果有了content 文章正文内容就能构建 Elastic 日报全文知识库,方便全文检索,更有价值!
更短时间更快习得更多干货!
全国近 1/4 的 Elastic 认证工程师都出自这里!