相信坚持的力量!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 日报全文知识库,方便全文检索,更有价值!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Elasticsearch:Java 运用示例
- 【5分钟玩转Lighthouse】搭建个人云盘
- Elasticsearch:Index alias
- 编程神器来了!写代码、搜问题,全部都在「终端」完成!是时候入手了
- Array - 238. Product of Array Except Self
- Array - 209. Minimum Size Subarray Sum
- Array - 334. Increasing Triplet Subsequence
- Array - 123. Best Time to Buy and Sell Stock III
- Array - 122. Best Time to Buy and Sell Stock II
- Array - 121. Best Time to Buy and Sell Stock
- Array - 220. Contains Duplicate III
- Array - 219. Contains Duplicate II
- Array - 217. Contains Duplicate
- Array - 299. Bulls and Cows
- Array - 189. Rotate Array