在 Mapping 里面,将 dynamic 参数设置成 strict 可以拒绝索引包含未知字段的文档。 此条 Tips 由 medcl 贡献。

让世界听到开源的声音 | 2022国际开源节邀您参展!

  • 国际开源教育与人才培养论坛

时间:11月6日9:00-12:10

随着不同开源技术的兴起以及机构持续进行数字化转型的活动,业界需要更多开源技术的人才,尤其在云原生、开源安全性、AI、边缘计算、区块链等等不同领域。本次论坛,OSTech联合Linux Foundation 开源软件学园 (LFOSSA)共同举办,共同探讨开源人才培养的话题以及女性在开源中承担的力量,敬请期待!
 
 
 
  • 机器学习中国峰会

时间:11月6日13:00-16:40

以机器学习为代表的人工智能技术,已经被业界公认为是自互联网以来最伟大的技术革命。目前机器学习已经在自动驾驶、医疗、金融、电商、社交、能源、教育……作出了突出的贡献。随着人工智能的迅速普及与落地应用,相关基础架构得到了很大的突破,深度学习领域也诞生了非常实用的平台和框架,如 TensorFlow、PyTorch、Keras、Caffe、Theano、MXNet 等等,为了推动人工智能及机器学习技术的发展和实践交流,“机器学习中国峰会(Machine Learning China Summit)” 将在2022国际开源节盛大召开。
 
  • OpenSSF开源安全中国峰会

时间:11月7日9:00-17:00

当前开源软件的安全问题依旧严重,代码中的安全缺陷密度较高。开源软件实际上已经成为软件开发的核心基础设施,开源软件的安全问题应该上升到基础设施安全的高度来对待,应该得到更多的、更广泛的重视。OpenSSF开源安全中国峰会将关注和防范开源软件安全风险,为国内软件的安全开发水平提高贡献一份力量。
 
 
 
  • Hyperledger区块链技术峰会

时间:11月8日9:00-12:25

“当今社会正处于数字化转型升级当中,数据如何确权和流转是全社会共同关注的话题,几乎所有企业受到人工智能、区块链、云计算等技术的影响; Web 3.0、元宇宙、数字藏品等是当前科技行业的"热门”科技词汇,也是当前科技圈大咖们最关注的话题。区块链在数字化转型过程中起到什么样的作用在新一代互联网——Web3.0当中扮演什么的角色?”超级账本携手可信区块链推进计划及OSTech,为大家带来Hyperledger区块链技术峰会。
 
 
 
  • CNCF云原生论坛

时间:11月8日13:30-16:50

根据Forrester数据显示,在2021年,全球云原生应用持续上升,组织中容器和无服务器技术的使用率在一年内都增长了75%以上。并且根据Gartner预测,到2025年,将会有超过95%的新数字工作负载被部署在云原生平台上,而在2021年这一比例只有30%。因此OSTech联合CNCF举行云原生论坛,重点围绕“DevOps,CI/CD”、“容器,多云管理”、“云原生安全”、“监视,可观测性”、“虚拟化、原生应用案例”、“云原生和其他技术整合( 云原生+)”等专题,邀请海内外技术专家在专场论坛上共话云原生,深度为大家介绍云原生相关技术。
继续阅读 »
  • 国际开源教育与人才培养论坛

时间:11月6日9:00-12:10

随着不同开源技术的兴起以及机构持续进行数字化转型的活动,业界需要更多开源技术的人才,尤其在云原生、开源安全性、AI、边缘计算、区块链等等不同领域。本次论坛,OSTech联合Linux Foundation 开源软件学园 (LFOSSA)共同举办,共同探讨开源人才培养的话题以及女性在开源中承担的力量,敬请期待!
 
 
 
  • 机器学习中国峰会

时间:11月6日13:00-16:40

以机器学习为代表的人工智能技术,已经被业界公认为是自互联网以来最伟大的技术革命。目前机器学习已经在自动驾驶、医疗、金融、电商、社交、能源、教育……作出了突出的贡献。随着人工智能的迅速普及与落地应用,相关基础架构得到了很大的突破,深度学习领域也诞生了非常实用的平台和框架,如 TensorFlow、PyTorch、Keras、Caffe、Theano、MXNet 等等,为了推动人工智能及机器学习技术的发展和实践交流,“机器学习中国峰会(Machine Learning China Summit)” 将在2022国际开源节盛大召开。
 
  • OpenSSF开源安全中国峰会

时间:11月7日9:00-17:00

当前开源软件的安全问题依旧严重,代码中的安全缺陷密度较高。开源软件实际上已经成为软件开发的核心基础设施,开源软件的安全问题应该上升到基础设施安全的高度来对待,应该得到更多的、更广泛的重视。OpenSSF开源安全中国峰会将关注和防范开源软件安全风险,为国内软件的安全开发水平提高贡献一份力量。
 
 
 
  • Hyperledger区块链技术峰会

时间:11月8日9:00-12:25

“当今社会正处于数字化转型升级当中,数据如何确权和流转是全社会共同关注的话题,几乎所有企业受到人工智能、区块链、云计算等技术的影响; Web 3.0、元宇宙、数字藏品等是当前科技行业的"热门”科技词汇,也是当前科技圈大咖们最关注的话题。区块链在数字化转型过程中起到什么样的作用在新一代互联网——Web3.0当中扮演什么的角色?”超级账本携手可信区块链推进计划及OSTech,为大家带来Hyperledger区块链技术峰会。
 
 
 
  • CNCF云原生论坛

时间:11月8日13:30-16:50

根据Forrester数据显示,在2021年,全球云原生应用持续上升,组织中容器和无服务器技术的使用率在一年内都增长了75%以上。并且根据Gartner预测,到2025年,将会有超过95%的新数字工作负载被部署在云原生平台上,而在2021年这一比例只有30%。因此OSTech联合CNCF举行云原生论坛,重点围绕“DevOps,CI/CD”、“容器,多云管理”、“云原生安全”、“监视,可观测性”、“虚拟化、原生应用案例”、“云原生和其他技术整合( 云原生+)”等专题,邀请海内外技术专家在专场论坛上共话云原生,深度为大家介绍云原生相关技术。 收起阅读 »

2022国际开源节(IOSF):被疫情追着打的这一年(再度改期)

2022国际开源节展会举办时间调整通知



尊敬的各位参展商、采购商、参会嘉宾及合作伙伴:

为了保证参展和参观效果,经与政府相关主管部门、展馆等多方协调沟通,主办方就2022国际开源节(IOSF)的举办时间进行微调,由原来的11月5-7日调整为11月6-8日,在深圳会展中心(福田)1/9号馆隆重举行!

因展会改期给您带来的不便,我们深表歉意,恳请各位谅解与支持!我们将持续密切关注疫情发展态势,积极与各方保持沟通,全力以赴做好各项后续服务。

感谢业界同仁对本次活动一如既往的支持与关注,我们有信心为大家呈现一场精彩纷呈并富有成效的行业盛会。期待您继续关注2022国际开源节!




2022国际开源节组委会

深圳市开源科技咨询有限公司
继续阅读 »
2022国际开源节展会举办时间调整通知



尊敬的各位参展商、采购商、参会嘉宾及合作伙伴:

为了保证参展和参观效果,经与政府相关主管部门、展馆等多方协调沟通,主办方就2022国际开源节(IOSF)的举办时间进行微调,由原来的11月5-7日调整为11月6-8日,在深圳会展中心(福田)1/9号馆隆重举行!

因展会改期给您带来的不便,我们深表歉意,恳请各位谅解与支持!我们将持续密切关注疫情发展态势,积极与各方保持沟通,全力以赴做好各项后续服务。

感谢业界同仁对本次活动一如既往的支持与关注,我们有信心为大家呈现一场精彩纷呈并富有成效的行业盛会。期待您继续关注2022国际开源节!




2022国际开源节组委会

深圳市开源科技咨询有限公司 收起阅读 »

2022国际开源节延期通知 | 待疫去花开,我们相约鹏城,不见不散!


致尊敬的各参展商、合作单位、媒体及观众朋友:
鉴于近期深圳市新冠疫情防控形势严峻,为贯彻政府对疫情防控工作的相关要求,保障广大参展商、参观者的身体健康和展出、参观效果,经充分听取各方意见,深圳国际电子展和2022国际开源节组委会审慎决定原定于2022年9月15-17日在深圳会展中心举办的“2022国际开源节”将延期举办,复展具体时间,我们将根据疫情防控情况尽快通知。
衷心感谢社会各界一直以来对“2022国际开源节”的关注、支持与理解,我们深知展会延期给您带来不便,在此我们深表歉意。我们相信,所有与会人员都希望在一个安全、健康、有序、温馨的环境下共同参与盛会。作为“2022国际开源节”的主办方,我们将密切关注疫情的发展形势,动态调整大会预案,及时与各位参展商、观众、业界伙伴们沟通,竭诚做好后续服务,持续进行线上宣传推广,全力以赴保证大会的高品质举办,为行业发展增势储能。
众志成城,共克时艰!期待您继续关注2022国际开源节!
 
2022国际开源节组委会
2022年9月5日
 
继续阅读 »

致尊敬的各参展商、合作单位、媒体及观众朋友:
鉴于近期深圳市新冠疫情防控形势严峻,为贯彻政府对疫情防控工作的相关要求,保障广大参展商、参观者的身体健康和展出、参观效果,经充分听取各方意见,深圳国际电子展和2022国际开源节组委会审慎决定原定于2022年9月15-17日在深圳会展中心举办的“2022国际开源节”将延期举办,复展具体时间,我们将根据疫情防控情况尽快通知。
衷心感谢社会各界一直以来对“2022国际开源节”的关注、支持与理解,我们深知展会延期给您带来不便,在此我们深表歉意。我们相信,所有与会人员都希望在一个安全、健康、有序、温馨的环境下共同参与盛会。作为“2022国际开源节”的主办方,我们将密切关注疫情的发展形势,动态调整大会预案,及时与各位参展商、观众、业界伙伴们沟通,竭诚做好后续服务,持续进行线上宣传推广,全力以赴保证大会的高品质举办,为行业发展增势储能。
众志成城,共克时艰!期待您继续关注2022国际开源节!
 
2022国际开源节组委会
2022年9月5日
  收起阅读 »

2022国际开源节(IOSF)锁定9月,元宇宙产业风向标地位稳了!

21.jpg

2022国际开源节的O3DE元宇宙体验中心,通过元宇宙技术层、应用层、场景层三大领域,让到场观众体会触手可及的元宇宙体验,并从底层技术揭开元宇宙的神秘面纱。同时,通过 O3DF - 元宇宙专场论坛,探索元宇宙产业未来发展趋势、生态建设以及落地应用场景,打造中国特色的元宇宙资源超级连接器及展贸窗口

本次IOSF展会期间,展览将覆盖元宇宙领域相关硬件、软件、内容、技术、应用、上下游合作伙伴等全产业链,全景呈现元宇宙产业的无限可能,我们将带大家身临其境,体验 O3DE 元宇宙空间。展会观众可以体验沉浸式逛展,足不出户就能到达元宇宙会场,以超现实的方式感受前沿产品和科技,精彩纷呈,逛足三天。

1.png

 
继续阅读 »
21.jpg

2022国际开源节的O3DE元宇宙体验中心,通过元宇宙技术层、应用层、场景层三大领域,让到场观众体会触手可及的元宇宙体验,并从底层技术揭开元宇宙的神秘面纱。同时,通过 O3DF - 元宇宙专场论坛,探索元宇宙产业未来发展趋势、生态建设以及落地应用场景,打造中国特色的元宇宙资源超级连接器及展贸窗口

本次IOSF展会期间,展览将覆盖元宇宙领域相关硬件、软件、内容、技术、应用、上下游合作伙伴等全产业链,全景呈现元宇宙产业的无限可能,我们将带大家身临其境,体验 O3DE 元宇宙空间。展会观众可以体验沉浸式逛展,足不出户就能到达元宇宙会场,以超现实的方式感受前沿产品和科技,精彩纷呈,逛足三天。

1.png

  收起阅读 »

2022国际开源节延期通知

开源节.png

以下是活动详情

开源节.png

开源节.png

以下是活动详情

开源节.png

Open Source@Scale!2022年国际开源节(IOSF)全球首发!

2022国际开源节(IOSF)
由OSTech携手环球资源,联合中国信息通信研究院、Linux基金会亚太区发起策划,在CTIS消费者科技及创新展览会落地,并聚集了包括中国科学院软件研究所、CNCF、LF AI & Data、LFOSSA、LF Edge、OpenSSF、Hyperledger基金会等国际一流开源基金会和机构,GDG、开源中国等全球知名开发者社区,以及上海开源信息技术协会等本地开源力量的共建支持。国际开源节旨在汇聚全球开源技术与项目,融合国际文化、开源社区生态和开源产业发展,构建“共创共赢”的开源文化,打造中国开源新生态。
继续阅读 »
2022国际开源节(IOSF)
由OSTech携手环球资源,联合中国信息通信研究院、Linux基金会亚太区发起策划,在CTIS消费者科技及创新展览会落地,并聚集了包括中国科学院软件研究所、CNCF、LF AI & Data、LFOSSA、LF Edge、OpenSSF、Hyperledger基金会等国际一流开源基金会和机构,GDG、开源中国等全球知名开发者社区,以及上海开源信息技术协会等本地开源力量的共建支持。国际开源节旨在汇聚全球开源技术与项目,融合国际文化、开源社区生态和开源产业发展,构建“共创共赢”的开源文化,打造中国开源新生态。 收起阅读 »

Elastic日报 第1358期 (2021-03-26)

1. Airbyte一款实现任何数据源到Elasticsearch的ETL转换工具
   https://airbyte.com/connectors ... ation
2. Js下Express框架4款好用的Elasticsearch工具库
   https://openbase.com/categorie ... aries
3. 三种常用的 Elasticsearch 数据迁移方案
   https://www.51cto.com/article/704537.html

编辑:陶希阳
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
继续阅读 »
1. Airbyte一款实现任何数据源到Elasticsearch的ETL转换工具
   https://airbyte.com/connectors ... ation
2. Js下Express框架4款好用的Elasticsearch工具库
   https://openbase.com/categorie ... aries
3. 三种常用的 Elasticsearch 数据迁移方案
   https://www.51cto.com/article/704537.html

编辑:陶希阳
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup 收起阅读 »

Elastic日报 第1351期 (2021-03-19)

1. 微信全文搜索技术优化实践
   https://www.6aiq.com/article/164729378963
2. ElasticSearch 命令执行漏洞(CVE-2014-3120)
   https://secvery.com/7419.html
3. Elasticsearch 自定义评分在广告推荐中的应用
   https://www.bilibili.com/video/BV1Ji4y127Tg

编辑:陶希阳
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup
继续阅读 »
1. 微信全文搜索技术优化实践
   https://www.6aiq.com/article/164729378963
2. ElasticSearch 命令执行漏洞(CVE-2014-3120)
   https://secvery.com/7419.html
3. Elasticsearch 自定义评分在广告推荐中的应用
   https://www.bilibili.com/video/BV1Ji4y127Tg

编辑:陶希阳
归档:https://ela.st/cn-daily-all
订阅:https://ela.st/cn-daily-sub
沙龙:https://ela.st/cn-meetup 收起阅读 »

Elastic中文社区网站新增文章投稿功能

Elastic中文社区网站新增文章投稿功能。

如果您有Elastic技术栈相关的文章想分享,可以在本站发表原创文章,或者以站外投稿(已在其他站点发表过)的方式进行发布,站外投稿就无需再重复编辑整个文章内容了,仅需要提供文章标题、摘要、稿源、链接基本信息即可。

怎么发布站外投稿文章呢?

1.入口
注册登录本站后,鼠标移动到网站右上角的“发起”按钮会弹出下拉选项,选中“文章”点击即可。如下图示例:
WechatIMG318.png

2.编辑&发布
文章类型选择站外投稿,填写文章来源、文章链接、文章标题、文章内容摘要等稿源信息后提交即可。如下图示例:
WechatIMG320.png

3.修改更新
如发布之后需要修改,可在文章详情界面点击编辑进行内容更新。如下图示例:
WechatIMG319.png

本站Elastic中文社区将持续整合Elastic相关最新的技术文章和资讯供大家阅览,欢迎大家在本站发布原创文章或投稿。
如有疑问或建议,欢迎在评论区留言反馈。
继续阅读 »
Elastic中文社区网站新增文章投稿功能。

如果您有Elastic技术栈相关的文章想分享,可以在本站发表原创文章,或者以站外投稿(已在其他站点发表过)的方式进行发布,站外投稿就无需再重复编辑整个文章内容了,仅需要提供文章标题、摘要、稿源、链接基本信息即可。

怎么发布站外投稿文章呢?

1.入口
注册登录本站后,鼠标移动到网站右上角的“发起”按钮会弹出下拉选项,选中“文章”点击即可。如下图示例:
WechatIMG318.png

2.编辑&发布
文章类型选择站外投稿,填写文章来源、文章链接、文章标题、文章内容摘要等稿源信息后提交即可。如下图示例:
WechatIMG320.png

3.修改更新
如发布之后需要修改,可在文章详情界面点击编辑进行内容更新。如下图示例:
WechatIMG319.png

本站Elastic中文社区将持续整合Elastic相关最新的技术文章和资讯供大家阅览,欢迎大家在本站发布原创文章或投稿。
如有疑问或建议,欢迎在评论区留言反馈。 收起阅读 »

欢迎参加本周六 DevOps社区大连峰会,还有少量赠票

Elastic 作为金牌合作伙伴加盟 2021 中国DevOps社区峰会 ,下面是Elastic 公司开发者布道师刘征的分享话题简介

嘉宾介绍:刘征,Elastic公司社区布道师,中国DevOps社区组织者,《DevOps Handbook》《The Site Reliability Workbook》译者;精通DevOps/SRE/ITIL等管理体系。致力于推广DevOps/SRE的理念、技术和实践。

演讲概述:不仅详细介绍使用 OpenTelemetry 这套云原生的API和库,来生成、收集和导出分布式系统的遥测数据的流程。还将展示如何定制OpenTelemetry的组件和架构,从而满足你的应用程序的独特需求。

Elastic 对开放标准支持的承诺:从开源到开放代码,开放性是我们Elastic的DNA。我们不仅从我们编写和运送的代码的角度拥抱这种开放性,而且也拥抱我们摄入的数据。我们一直站在拥抱开放标准的最前沿,为我们的用户提供灵活性,让他们可以选择如何将他们的数据运送到Elasticsearch,并利用Elastic Stack的功能。这种支持开放标准的承诺体现在我们对其他开放标准和其他流行的开源项目的支持,如Prometheus、OpenTracing、W3C Trace-Context和Jaeger。

2019年初,OpenTracing和OpenCensus开始了标准化API和构建完整解决方案的旅程,使用户更容易在他们所有的埋点服务中捕获追踪和遥测。在Elastic APM中建立了对OpenTracing的支持,我们作为OpenTelemetry项目的成员积极参与其中。我们很高兴地宣布,我们可以轻松地将OpenTelemetry的追踪整合到Elastic APM中。
 

2021-08-31_12-19-56.png


欢迎参与DevOps 社区峰会大连站,欢迎关注刘征老师的以上分享。关注本微信的朋友可以扫码下面的二维码免费注册本次峰会,本次社区峰会还给大家准备了社区定制版卫衣和抽奖书籍等周边。还等什么,让我们本周六在峰会上不见不散吧!
 

2021-08-31_12-20-07.png


扫码即得最后剩余的免费门票。
查看大会的全部日程。
 

WechatIMG1617.jpeg

 
 
继续阅读 »
Elastic 作为金牌合作伙伴加盟 2021 中国DevOps社区峰会 ,下面是Elastic 公司开发者布道师刘征的分享话题简介

嘉宾介绍:刘征,Elastic公司社区布道师,中国DevOps社区组织者,《DevOps Handbook》《The Site Reliability Workbook》译者;精通DevOps/SRE/ITIL等管理体系。致力于推广DevOps/SRE的理念、技术和实践。

演讲概述:不仅详细介绍使用 OpenTelemetry 这套云原生的API和库,来生成、收集和导出分布式系统的遥测数据的流程。还将展示如何定制OpenTelemetry的组件和架构,从而满足你的应用程序的独特需求。

Elastic 对开放标准支持的承诺:从开源到开放代码,开放性是我们Elastic的DNA。我们不仅从我们编写和运送的代码的角度拥抱这种开放性,而且也拥抱我们摄入的数据。我们一直站在拥抱开放标准的最前沿,为我们的用户提供灵活性,让他们可以选择如何将他们的数据运送到Elasticsearch,并利用Elastic Stack的功能。这种支持开放标准的承诺体现在我们对其他开放标准和其他流行的开源项目的支持,如Prometheus、OpenTracing、W3C Trace-Context和Jaeger。

2019年初,OpenTracing和OpenCensus开始了标准化API和构建完整解决方案的旅程,使用户更容易在他们所有的埋点服务中捕获追踪和遥测。在Elastic APM中建立了对OpenTracing的支持,我们作为OpenTelemetry项目的成员积极参与其中。我们很高兴地宣布,我们可以轻松地将OpenTelemetry的追踪整合到Elastic APM中。
 

2021-08-31_12-19-56.png


欢迎参与DevOps 社区峰会大连站,欢迎关注刘征老师的以上分享。关注本微信的朋友可以扫码下面的二维码免费注册本次峰会,本次社区峰会还给大家准备了社区定制版卫衣和抽奖书籍等周边。还等什么,让我们本周六在峰会上不见不散吧!
 

2021-08-31_12-20-07.png


扫码即得最后剩余的免费门票。
查看大会的全部日程。
 

WechatIMG1617.jpeg

 
  收起阅读 »

【腾讯】【深圳/北京】招聘Elasticsearch高级研发工程师

工作职责
负责腾讯Elasticsearch内核的架构优化、新特性开发;
负责预研分布式存储系统、NoSQL等相关技术,推动Elasticsearch技术发展;
负责腾讯Elasticsearch产品的运营建设、日常维护。

工作要求
本科及以上学历,计算机、软件等相关专业;
编程能力扎实,熟悉Java/C 中的一种,具有良好的数据结构、算法、操作系统等计算机基本知识;
熟悉ElasticSearch、Lucene、Solr开源系统,有实际开发经验者优先;
熟悉Hadoop、HBase、Presto等开源分布式系统,有大规模分布式系统开发经验者优先;
对新技术敏感,追求卓越,能快速学习并具备较强的技术领悟能力。
 
工作地点
深圳、北京
 
联系方式
欢迎发送简历至:johngqjiang@tencent.com 或微信联系:18519283579
相关链接:https://careers.tencent.com/jo ... 65248
继续阅读 »
工作职责
负责腾讯Elasticsearch内核的架构优化、新特性开发;
负责预研分布式存储系统、NoSQL等相关技术,推动Elasticsearch技术发展;
负责腾讯Elasticsearch产品的运营建设、日常维护。

工作要求
本科及以上学历,计算机、软件等相关专业;
编程能力扎实,熟悉Java/C 中的一种,具有良好的数据结构、算法、操作系统等计算机基本知识;
熟悉ElasticSearch、Lucene、Solr开源系统,有实际开发经验者优先;
熟悉Hadoop、HBase、Presto等开源分布式系统,有大规模分布式系统开发经验者优先;
对新技术敏感,追求卓越,能快速学习并具备较强的技术领悟能力。
 
工作地点
深圳、北京
 
联系方式
欢迎发送简历至:johngqjiang@tencent.com 或微信联系:18519283579
相关链接:https://careers.tencent.com/jo ... 65248 收起阅读 »

You know, for search--带你认识Elasticsearch


Elasticsearch作为当前流行的分布式搜索引擎,被广泛应用于日志检索,指标采集,APM,安全分析等领域。本文将对Elastic Stack的发展历程,基本原理,产品生态,主要功能和应用场景进行总结,以帮助大家对Elastic生态的前世今生能有一个清晰的了解。

1. 发展历程

1.1 美好的事物总有一个浪漫的开始

许多年前,一个叫Shay Banon的年轻人想为正在学习厨艺的新婚妻子编写一款菜谱搜索软件。在开发过程中,他发现搜索引擎库Lucene不仅使用门槛高,还有会有许多重复性工作。因此他决定在lucene基础之上封装一个简单易用的搜索应用库,并命名为Compress。Elasticsearch的前身就在这样浪漫的机缘下诞生了。

1.2 分布式为其注入了新的活力

之后shay找到了一份工作,工作内容涉及到大量的高并发分布式场景,于是他决定重写Compress,引入了分布式架构,并更名为Elasticsearch。Elasticsearch的第一个版本发布于2010年5月,发布后公众反响强烈。

1.3 开源力量助其腾飞

Elasticsearch在github上发布后,使用量骤增,并很快有了自己的社区。很快,社区中的 Steven Schuurman、Uri Boness 和 Simon Willnauer 与Shay Banon 一起成立了一家搜索公司Elasticsearch Inc.。
在Elasticsearch Inc.公司成立前后,另外两个开源项目也正在快速发展。一个是Jordan Sissel的开源可插拔数据采集工具Logstash, 另一个是Rashid Khan的开源数据可视化UI Kibana。由于作者间对彼此产品比较熟悉,因此决定合作发展,最终形成了Elastic Stack的经典技术栈ELK: Elasticsearch, Logstash, Kibana

1.4 快速成长

之后Elasticsearch迅速发展,增加了许多新功能和特性 版本 发布日志 重要特性
0.7.0 2010.5.14 github上第一个版本
1.0.0 2014.2.14 备份恢复,聚合,熔断器,docvalues等
2.0.0 2015.10.28 组件版本统一,推出Elastic Cloud等
5.0.0 2016.10.26 商业组件整合为x-pack;使用Lucene6.0引入BKD树,稀疏数据优化等; beat引入module概念; 增加machine learning功能; shrink API; ingest node; painless 脚本等
6.0.0 2017.8.31 稀疏性docvalues支持,index sorting, sequence num, 滚动升级等
7.0.0 2019.4.10 引入新的集群协调层zen2; real内存熔断器等

2018年美东时间10月5日上午 9:30 整,纽约证券交易所的铃声响起,Elastic 成功上市。

2. 基本原理

2.1 最初的想法

Elasticsearch是一个分布式搜索引擎,底层使用Lucene来实现其核心搜索功能。虽然当前Elasticsearch拥有的众多的功能和解决方案,但是其核心仍然是全文检索。

  • 什么是全文检索?
    生活中的数据可以分为结构化数据和非结构化数据。结构化数据是指格式和长度固定的数据,如一个人的年龄,姓名等。非结构化数据是指格式和长度不固定的数据,如一个文章的内容等。
    对于结构化数据,可以存储在DB中通过精确匹配找到。但是对于非结构化数据,一般查询时只能提供查询的局部信息或模糊信息,传统数据库无法根据这些信息进行查询(或者说效率很差)。
  • 如何解决全文检索-倒排索引
    倒排索引时相对于正排索引而言的,如下图是正排索引和倒排索引的对比

    正排索引可以通过id查找到对应的文章,但是无法通过给的部分内容如love,找出含有该关键字的文档。 倒排索引会先对文档进行分析将其拆分成单个Term, 并存储包含该Term的文档id,这样便可以实现通过内容查找对应文档,如包含love的文档为文档1的第二个位置和文档2的第二个位置。倒排索引的逻辑结构如下图:

    当然这样的倒排索引建立起来会导致索引的大小迅速膨胀,lucene对此引入了一个特殊的数据结构叫FST,用于解决这个问题。感兴趣的朋友可以查询资料了解,公众号里后续也会专门介绍该数据结构。

2.2 Elasticsearch的改进

使用倒排索引实现全文检索都是Lucene已经具备的能力,Elasticsearch只是将这个能力封装起来提供给用户使用。那么Elasticsearch在lucene之上做了哪些改进和优化呢? 首先我们先了解一下Lucene中的几个基本概念

  • Index(索引):一类业务数据的集合,类似于传统数据库DB的概念。
  • Document(文档):一条完整的数据记录,json格式,是数据存储和检索的基本单位,类似于传统数据库的一条记录。
  • Field(字段):文档的具体一个属性,类似于传统数据库的列。
  • Term(分词):全文检索特有词汇,在存储文档字段或检索时会先对传入的值进行拆分,使用拆分后的词进行存储和检索。

    2.2.1 分布式设计:

    为了支持对海量数据的存储和查询,Elasticsearch引入分片的概念,一个索引被分成多个分片,每个分片可以有一个主分片和多个副本分片,每个分片副本都是一个具有完整功能的lucene实例,可以独立进行存储和搜索。分片可以分配在不同的节点上,同一个分片的不同副本不能分配在相同的节点上。 在进行读写操作时,ES会根据传入的_routing参数(或mapping中设置的_routing, 如果参数和设置中都没有则默认使用_id), 按照公式shard_num = hash(\routing) % num_primary_shards,计算出文档要所在或要分配到的分片,再从集群元数据中找出对应主分片的位置,将请求路由到该分片进行读写操作。

2.2.2 近实时性-refresh操作

当一个文档写入Lucene后是不能被立即查询到的,Elasticsearch提供了一个refresh操作,会定时地调用lucene的reopen(新版本为openIfChanged)为内存中新写入的数据生成一个新的segment,此时被处理的文档均可以被检索到。refresh操作的时间间隔由refresh_interval参数控制,默认为1s, 当然还可以在写入请求中带上refresh表示写入后立即refresh,另外还可以调用refresh API显式refresh。

2.2.3 数据存储可靠性

  1. 引入translog 当一个文档写入Lucence后是存储在内存中的,即使执行了refresh操作仍然是在文件系统缓存中,如果此时服务器宕机,那么这部分数据将会丢失。为此ES增加了translog, 当进行文档写操作时会先将文档写入Lucene,然后写入一份到translog,写入translog是落盘的(如果对可靠性要求不是很高,也可以设置异步落盘,可以提高性能,由配置index.translog.durabilityindex.translog.sync_interval控制),这样就可以防止服务器宕机后数据的丢失。与传统的分布式系统不同,这里是先写入Lucene再写入translog,原因是写入Lucene可能会失败,为了减少写入失败回滚的复杂度,因此先写入Lucene.
  2. flush操作 另外每30分钟或当translog达到一定大小(由index.translog.flush_threshold_size控制,默认512mb), ES会触发一次flush操作,此时ES会先执行refresh操作将buffer中的数据生成segment,然后调用lucene的commit方法将所有内存中的segment fsync到磁盘。此时lucene中的数据就完成了持久化,会清空translog中的数据(6.x版本为了实现sequenceIDs,不删除translog)
  3. merge操作 由于refresh默认间隔为1s中,因此会产生大量的小segment,为此ES会运行一个任务检测当前磁盘中的segment,对符合条件的segment进行合并操作,减少lucene中的segment个数,提高查询速度,降低负载。不仅如此,merge过程也是文档删除和更新操作后,旧的doc真正被删除的时候。用户还可以手动调用_forcemerge API来主动触发merge,以减少集群的segment个数和清理已删除或更新的文档。
  4. 多副本机制 另外ES有多副本机制,一个分片的主副分片不能分片在同一个节点上,进一步保证数据的可靠性。

2.2.4 部分更新

lucene支持对文档的整体更新,ES为了支持局部更新,在Lucene的Store索引中存储了一个_source字段,该字段的key值是文档ID, 内容是文档的原文。当进行更新操作时先从_source中获取原文,与更新部分合并后,再调用lucene API进行全量更新, 对于写入了ES但是还没有refresh的文档,可以从translog中获取。另外为了防止读取文档过程后执行更新前有其他线程修改了文档,ES增加了版本机制,当执行更新操作时发现当前文档的版本与预期不符,则会重新获取文档再更新。

3 Elastic Stack生态

Elasticsearch相对于其他的搜索引擎最大的优势之一就是完整的产品矩阵和活跃的社区,下图是Elastic Stack的产品矩阵

3.1 Elastic大数据平台

产品矩阵中最核心的部分是Elastic大数据平台,也就是大家所熟知的ELK(现在应该叫ELKB)。其中

  • Elasticsearch是其中的搜索引擎,是整个Elastic Stack的核心所在,它底层使用Lucene,对外提供分布式的高可用,易扩展,近实时的数据存储和检索服务。
  • Logstash是一个数据采集工具。在早期的Elastic Stack中起到数据采集,处理的作用,在新的架构中,数据采集工作交给了更轻量级的beat来完成,Logstash则更多地用在数据汇聚,处理场景下。Logstash提供了200+的插件来支持各种各样的数据采集和数据场景,极大地提高了Elastic stack在各种应用场景下的应用能力。
  • Beats是一个轻量级的数据采集agent,部署在数据采集端,所有的beat底层都基于libbeat,并在其基础之上针对各种应用场景实现数据的采集和传输功能。目前除了官方提供的Filebeat,MetricBeat,PacketB eat等之外,还有大量社区贡献的beat,可以适应各种数据采集场景的需要。
  • Kibana是ELK中的数据可视化工具,提供了如Discover(搜索),DashBoard(仪表盘),DevTools(开发工具),Monitoring(监控),MachineLearning(机器学习), SIEM(安全分析),Management(管理)等多种功能,极大地降低了Elasticsearch用户的使用门槛和操作复杂度。

3.2 X-PACK工具包

从5.x开始,Elastic stack将ES的商业功能特性整合到了X-PACK中, 该工具包提供了包括机器学习,规格告警,高级安全特性等在内的众多特性,为使用方提供了更为丰富和专业的功能。

3.3 解决方案

Elastic Stack完善的产品矩阵和活跃的社区,使用ES被广泛应用于各种领域,如搜索,日志,指标,APM,安全,企业搜索等。用户的使用场景和经验反馈,进而促使了Elastic stack在大数据分析平台的基础之上构建一些更完整的,易于上手的解决方案。
如各种beat moudle,用户只需要简单的配置就可以快速地搭建日志或指标采集方案和对应的分析视图。
如APM server和agent,用户只需要根据指引,配置对应server和agent即可快速搭建APM服务。
如SIEM,集成了安全分析的许多功能模块,极大地满足了安全分析的需要。

3.4 Elastic云服务

为了能让用户更方便地使用Elastic Stack的功能,Elastic还提供了托管式云服务。用户只需要通过简单地配置即可快速搭建起Elastic Stack服务,极大地简化了用户的搭建流程。
在国内,Elastic还与腾讯云,阿里云等云厂商合作,提供了Elastic云服务,使得国内用户也能快捷方便地搭建起Elastic服务。

4. 主要功能

Elastic Stack发展至今已拥有丰富的功能

4.1 强大的查询能力

Elasticsearch是一个搜索引擎,而判断一个搜索引擎的优劣,就是看其对查询的支持能力。如下图为Elasticsearch支持的查询功能

基础查询能力上Elasticseach支持精确查询,全文查询,地理位置查询和一些高级查询。
Elasticsearch还支持对这些基础查询进行组合查询,并且可以调整各子查询的权重等
Elasticsearch在聚合层面也提供了强大的支持,不仅支持简单的像SUM, MAX这样的指标查询,还支持分桶查询。另外还支持对其他聚合结果的聚合Pipeline查询。

4.2 丰富的存储类型

Elasticsearch支持包括String(text/keyword), Numeric(long, integer, short ...), Date, Boolean, Binary, Range等多种数据类型,还支持如Nested, join, object, Geo-shape, Sparse vectord等多种数据类型,针对每种数据类型进行了特定的存储和检索优化,以应对不同场景的使用需要

4.3 强大的数据采集和管理能力

  • 数据采集和处理:Elastic Stack的beats和Logstash不仅提供了大量的官方插件,还有大量的社区贡献,可以满足各种场景的数据采集和处理需求。另外Elastic的ingest node 也提供了丰富的数据预处理能力。
  • 快照备份和恢复:支持将部分或全部数据备份到指定数据源,并支持插件开发
  • 索引声明周期管理:用户可以通过配置,使集群可以自动对数据进行roll over, 降冷,关闭或或删除等操作,提高了数据的持续管理能力。

4.4 安全性

Elasticsearch提供了加密通信,基于角色的访问控制,基于属性的访问控制,LDAP,令牌服务等多种安全功能,可以满足用户在安全方面的各种需求。

4.5 监控和告警

Elasticseasrch提供了对Elastic Stack组件的监控及告警能力,极大地方便了用户对Elastic Stack运行状态的了解和对问题的定位修复。
Elasitc提供了Altering功能,用户可以根据业务需要配置规则,实现满足业务需要的规则告警

4.6 机器学习

Elasticsearch当前提供了非监督机器学习功能,该功能当前主要用在异常检测方面。在日志检索,指标,APM,安全分析等领域均有使用。

由于功能太多这里就不一一列举了,详情可以参考:[Elastic Subscription]

5 应用场景

Elasticsearch有着广泛的应用场景,借助其强大的检索能力,其当前主要应用在搜索,日志分析,指标,APM,安全分析等领域。

5.1 搜索

Elasticsearch作为搜索引擎,其对绝大多数类型的搜索功能提供了支持。由于其具有可扩展性好,安全性高,近实时,功能全面等优点,其广泛应用在各种应用搜索,站内搜,企业搜索,代码搜索等场景。

5.2 日志分析

日志分析是Elasticsearch应用最广泛的领域,由于其ELK架构可以实现快速搭建和使用,再加上其强大的检索能力,使得其深受广大运维同学喜爱。

5.3 指标

Elasticsearch5.x开始使用lucene6.0,该版本引入了BKD 树,并对稀疏数据进行了优化,使得数值数据的存储和查询性能得到了很大提升。Elasticsearch也因此得以可以广泛应用于指标监控。

5.4 APM

Elastic Stack提供APM serverh和APM anget,用于帮助用户实现APM功能。APM功能来源于之前的Opbeat。Opbeat是由一个丹麦初创团队研发,该团队主打产品就是APM运维软件。

5.5 安全分析

随着互联网技术的蓬勃发展,安全分析领域开始面临海量数据存储和查询分析问题,Elastic为安全领域提供了从数据采集,数据格式处理,异常检测,可视化分析等一整套解决方案,极大地方便了安全分析在海量数据场景下的进行。在7.x版本的Kibana中甚至直接增加了一个SIEM应用,用于向安全分析领域提供完整的解决方案。

本文对Elasticsearch的发展历程,基本原理,主要功能和应用场景进行了简单总结,希望能帮助大家对Elasticsearch有一个条理清晰的了解。

欢迎关注公众号Elastic慕容,和我一起进入Elastic的奇妙世界吧

继续阅读 »


Elasticsearch作为当前流行的分布式搜索引擎,被广泛应用于日志检索,指标采集,APM,安全分析等领域。本文将对Elastic Stack的发展历程,基本原理,产品生态,主要功能和应用场景进行总结,以帮助大家对Elastic生态的前世今生能有一个清晰的了解。

1. 发展历程

1.1 美好的事物总有一个浪漫的开始

许多年前,一个叫Shay Banon的年轻人想为正在学习厨艺的新婚妻子编写一款菜谱搜索软件。在开发过程中,他发现搜索引擎库Lucene不仅使用门槛高,还有会有许多重复性工作。因此他决定在lucene基础之上封装一个简单易用的搜索应用库,并命名为Compress。Elasticsearch的前身就在这样浪漫的机缘下诞生了。

1.2 分布式为其注入了新的活力

之后shay找到了一份工作,工作内容涉及到大量的高并发分布式场景,于是他决定重写Compress,引入了分布式架构,并更名为Elasticsearch。Elasticsearch的第一个版本发布于2010年5月,发布后公众反响强烈。

1.3 开源力量助其腾飞

Elasticsearch在github上发布后,使用量骤增,并很快有了自己的社区。很快,社区中的 Steven Schuurman、Uri Boness 和 Simon Willnauer 与Shay Banon 一起成立了一家搜索公司Elasticsearch Inc.。
在Elasticsearch Inc.公司成立前后,另外两个开源项目也正在快速发展。一个是Jordan Sissel的开源可插拔数据采集工具Logstash, 另一个是Rashid Khan的开源数据可视化UI Kibana。由于作者间对彼此产品比较熟悉,因此决定合作发展,最终形成了Elastic Stack的经典技术栈ELK: Elasticsearch, Logstash, Kibana

1.4 快速成长

之后Elasticsearch迅速发展,增加了许多新功能和特性 版本 发布日志 重要特性
0.7.0 2010.5.14 github上第一个版本
1.0.0 2014.2.14 备份恢复,聚合,熔断器,docvalues等
2.0.0 2015.10.28 组件版本统一,推出Elastic Cloud等
5.0.0 2016.10.26 商业组件整合为x-pack;使用Lucene6.0引入BKD树,稀疏数据优化等; beat引入module概念; 增加machine learning功能; shrink API; ingest node; painless 脚本等
6.0.0 2017.8.31 稀疏性docvalues支持,index sorting, sequence num, 滚动升级等
7.0.0 2019.4.10 引入新的集群协调层zen2; real内存熔断器等

2018年美东时间10月5日上午 9:30 整,纽约证券交易所的铃声响起,Elastic 成功上市。

2. 基本原理

2.1 最初的想法

Elasticsearch是一个分布式搜索引擎,底层使用Lucene来实现其核心搜索功能。虽然当前Elasticsearch拥有的众多的功能和解决方案,但是其核心仍然是全文检索。

  • 什么是全文检索?
    生活中的数据可以分为结构化数据和非结构化数据。结构化数据是指格式和长度固定的数据,如一个人的年龄,姓名等。非结构化数据是指格式和长度不固定的数据,如一个文章的内容等。
    对于结构化数据,可以存储在DB中通过精确匹配找到。但是对于非结构化数据,一般查询时只能提供查询的局部信息或模糊信息,传统数据库无法根据这些信息进行查询(或者说效率很差)。
  • 如何解决全文检索-倒排索引
    倒排索引时相对于正排索引而言的,如下图是正排索引和倒排索引的对比

    正排索引可以通过id查找到对应的文章,但是无法通过给的部分内容如love,找出含有该关键字的文档。 倒排索引会先对文档进行分析将其拆分成单个Term, 并存储包含该Term的文档id,这样便可以实现通过内容查找对应文档,如包含love的文档为文档1的第二个位置和文档2的第二个位置。倒排索引的逻辑结构如下图:

    当然这样的倒排索引建立起来会导致索引的大小迅速膨胀,lucene对此引入了一个特殊的数据结构叫FST,用于解决这个问题。感兴趣的朋友可以查询资料了解,公众号里后续也会专门介绍该数据结构。

2.2 Elasticsearch的改进

使用倒排索引实现全文检索都是Lucene已经具备的能力,Elasticsearch只是将这个能力封装起来提供给用户使用。那么Elasticsearch在lucene之上做了哪些改进和优化呢? 首先我们先了解一下Lucene中的几个基本概念

  • Index(索引):一类业务数据的集合,类似于传统数据库DB的概念。
  • Document(文档):一条完整的数据记录,json格式,是数据存储和检索的基本单位,类似于传统数据库的一条记录。
  • Field(字段):文档的具体一个属性,类似于传统数据库的列。
  • Term(分词):全文检索特有词汇,在存储文档字段或检索时会先对传入的值进行拆分,使用拆分后的词进行存储和检索。

    2.2.1 分布式设计:

    为了支持对海量数据的存储和查询,Elasticsearch引入分片的概念,一个索引被分成多个分片,每个分片可以有一个主分片和多个副本分片,每个分片副本都是一个具有完整功能的lucene实例,可以独立进行存储和搜索。分片可以分配在不同的节点上,同一个分片的不同副本不能分配在相同的节点上。 在进行读写操作时,ES会根据传入的_routing参数(或mapping中设置的_routing, 如果参数和设置中都没有则默认使用_id), 按照公式shard_num = hash(\routing) % num_primary_shards,计算出文档要所在或要分配到的分片,再从集群元数据中找出对应主分片的位置,将请求路由到该分片进行读写操作。

2.2.2 近实时性-refresh操作

当一个文档写入Lucene后是不能被立即查询到的,Elasticsearch提供了一个refresh操作,会定时地调用lucene的reopen(新版本为openIfChanged)为内存中新写入的数据生成一个新的segment,此时被处理的文档均可以被检索到。refresh操作的时间间隔由refresh_interval参数控制,默认为1s, 当然还可以在写入请求中带上refresh表示写入后立即refresh,另外还可以调用refresh API显式refresh。

2.2.3 数据存储可靠性

  1. 引入translog 当一个文档写入Lucence后是存储在内存中的,即使执行了refresh操作仍然是在文件系统缓存中,如果此时服务器宕机,那么这部分数据将会丢失。为此ES增加了translog, 当进行文档写操作时会先将文档写入Lucene,然后写入一份到translog,写入translog是落盘的(如果对可靠性要求不是很高,也可以设置异步落盘,可以提高性能,由配置index.translog.durabilityindex.translog.sync_interval控制),这样就可以防止服务器宕机后数据的丢失。与传统的分布式系统不同,这里是先写入Lucene再写入translog,原因是写入Lucene可能会失败,为了减少写入失败回滚的复杂度,因此先写入Lucene.
  2. flush操作 另外每30分钟或当translog达到一定大小(由index.translog.flush_threshold_size控制,默认512mb), ES会触发一次flush操作,此时ES会先执行refresh操作将buffer中的数据生成segment,然后调用lucene的commit方法将所有内存中的segment fsync到磁盘。此时lucene中的数据就完成了持久化,会清空translog中的数据(6.x版本为了实现sequenceIDs,不删除translog)
  3. merge操作 由于refresh默认间隔为1s中,因此会产生大量的小segment,为此ES会运行一个任务检测当前磁盘中的segment,对符合条件的segment进行合并操作,减少lucene中的segment个数,提高查询速度,降低负载。不仅如此,merge过程也是文档删除和更新操作后,旧的doc真正被删除的时候。用户还可以手动调用_forcemerge API来主动触发merge,以减少集群的segment个数和清理已删除或更新的文档。
  4. 多副本机制 另外ES有多副本机制,一个分片的主副分片不能分片在同一个节点上,进一步保证数据的可靠性。

2.2.4 部分更新

lucene支持对文档的整体更新,ES为了支持局部更新,在Lucene的Store索引中存储了一个_source字段,该字段的key值是文档ID, 内容是文档的原文。当进行更新操作时先从_source中获取原文,与更新部分合并后,再调用lucene API进行全量更新, 对于写入了ES但是还没有refresh的文档,可以从translog中获取。另外为了防止读取文档过程后执行更新前有其他线程修改了文档,ES增加了版本机制,当执行更新操作时发现当前文档的版本与预期不符,则会重新获取文档再更新。

3 Elastic Stack生态

Elasticsearch相对于其他的搜索引擎最大的优势之一就是完整的产品矩阵和活跃的社区,下图是Elastic Stack的产品矩阵

3.1 Elastic大数据平台

产品矩阵中最核心的部分是Elastic大数据平台,也就是大家所熟知的ELK(现在应该叫ELKB)。其中

  • Elasticsearch是其中的搜索引擎,是整个Elastic Stack的核心所在,它底层使用Lucene,对外提供分布式的高可用,易扩展,近实时的数据存储和检索服务。
  • Logstash是一个数据采集工具。在早期的Elastic Stack中起到数据采集,处理的作用,在新的架构中,数据采集工作交给了更轻量级的beat来完成,Logstash则更多地用在数据汇聚,处理场景下。Logstash提供了200+的插件来支持各种各样的数据采集和数据场景,极大地提高了Elastic stack在各种应用场景下的应用能力。
  • Beats是一个轻量级的数据采集agent,部署在数据采集端,所有的beat底层都基于libbeat,并在其基础之上针对各种应用场景实现数据的采集和传输功能。目前除了官方提供的Filebeat,MetricBeat,PacketB eat等之外,还有大量社区贡献的beat,可以适应各种数据采集场景的需要。
  • Kibana是ELK中的数据可视化工具,提供了如Discover(搜索),DashBoard(仪表盘),DevTools(开发工具),Monitoring(监控),MachineLearning(机器学习), SIEM(安全分析),Management(管理)等多种功能,极大地降低了Elasticsearch用户的使用门槛和操作复杂度。

3.2 X-PACK工具包

从5.x开始,Elastic stack将ES的商业功能特性整合到了X-PACK中, 该工具包提供了包括机器学习,规格告警,高级安全特性等在内的众多特性,为使用方提供了更为丰富和专业的功能。

3.3 解决方案

Elastic Stack完善的产品矩阵和活跃的社区,使用ES被广泛应用于各种领域,如搜索,日志,指标,APM,安全,企业搜索等。用户的使用场景和经验反馈,进而促使了Elastic stack在大数据分析平台的基础之上构建一些更完整的,易于上手的解决方案。
如各种beat moudle,用户只需要简单的配置就可以快速地搭建日志或指标采集方案和对应的分析视图。
如APM server和agent,用户只需要根据指引,配置对应server和agent即可快速搭建APM服务。
如SIEM,集成了安全分析的许多功能模块,极大地满足了安全分析的需要。

3.4 Elastic云服务

为了能让用户更方便地使用Elastic Stack的功能,Elastic还提供了托管式云服务。用户只需要通过简单地配置即可快速搭建起Elastic Stack服务,极大地简化了用户的搭建流程。
在国内,Elastic还与腾讯云,阿里云等云厂商合作,提供了Elastic云服务,使得国内用户也能快捷方便地搭建起Elastic服务。

4. 主要功能

Elastic Stack发展至今已拥有丰富的功能

4.1 强大的查询能力

Elasticsearch是一个搜索引擎,而判断一个搜索引擎的优劣,就是看其对查询的支持能力。如下图为Elasticsearch支持的查询功能

基础查询能力上Elasticseach支持精确查询,全文查询,地理位置查询和一些高级查询。
Elasticsearch还支持对这些基础查询进行组合查询,并且可以调整各子查询的权重等
Elasticsearch在聚合层面也提供了强大的支持,不仅支持简单的像SUM, MAX这样的指标查询,还支持分桶查询。另外还支持对其他聚合结果的聚合Pipeline查询。

4.2 丰富的存储类型

Elasticsearch支持包括String(text/keyword), Numeric(long, integer, short ...), Date, Boolean, Binary, Range等多种数据类型,还支持如Nested, join, object, Geo-shape, Sparse vectord等多种数据类型,针对每种数据类型进行了特定的存储和检索优化,以应对不同场景的使用需要

4.3 强大的数据采集和管理能力

  • 数据采集和处理:Elastic Stack的beats和Logstash不仅提供了大量的官方插件,还有大量的社区贡献,可以满足各种场景的数据采集和处理需求。另外Elastic的ingest node 也提供了丰富的数据预处理能力。
  • 快照备份和恢复:支持将部分或全部数据备份到指定数据源,并支持插件开发
  • 索引声明周期管理:用户可以通过配置,使集群可以自动对数据进行roll over, 降冷,关闭或或删除等操作,提高了数据的持续管理能力。

4.4 安全性

Elasticsearch提供了加密通信,基于角色的访问控制,基于属性的访问控制,LDAP,令牌服务等多种安全功能,可以满足用户在安全方面的各种需求。

4.5 监控和告警

Elasticseasrch提供了对Elastic Stack组件的监控及告警能力,极大地方便了用户对Elastic Stack运行状态的了解和对问题的定位修复。
Elasitc提供了Altering功能,用户可以根据业务需要配置规则,实现满足业务需要的规则告警

4.6 机器学习

Elasticsearch当前提供了非监督机器学习功能,该功能当前主要用在异常检测方面。在日志检索,指标,APM,安全分析等领域均有使用。

由于功能太多这里就不一一列举了,详情可以参考:[Elastic Subscription]

5 应用场景

Elasticsearch有着广泛的应用场景,借助其强大的检索能力,其当前主要应用在搜索,日志分析,指标,APM,安全分析等领域。

5.1 搜索

Elasticsearch作为搜索引擎,其对绝大多数类型的搜索功能提供了支持。由于其具有可扩展性好,安全性高,近实时,功能全面等优点,其广泛应用在各种应用搜索,站内搜,企业搜索,代码搜索等场景。

5.2 日志分析

日志分析是Elasticsearch应用最广泛的领域,由于其ELK架构可以实现快速搭建和使用,再加上其强大的检索能力,使得其深受广大运维同学喜爱。

5.3 指标

Elasticsearch5.x开始使用lucene6.0,该版本引入了BKD 树,并对稀疏数据进行了优化,使得数值数据的存储和查询性能得到了很大提升。Elasticsearch也因此得以可以广泛应用于指标监控。

5.4 APM

Elastic Stack提供APM serverh和APM anget,用于帮助用户实现APM功能。APM功能来源于之前的Opbeat。Opbeat是由一个丹麦初创团队研发,该团队主打产品就是APM运维软件。

5.5 安全分析

随着互联网技术的蓬勃发展,安全分析领域开始面临海量数据存储和查询分析问题,Elastic为安全领域提供了从数据采集,数据格式处理,异常检测,可视化分析等一整套解决方案,极大地方便了安全分析在海量数据场景下的进行。在7.x版本的Kibana中甚至直接增加了一个SIEM应用,用于向安全分析领域提供完整的解决方案。

本文对Elasticsearch的发展历程,基本原理,主要功能和应用场景进行了简单总结,希望能帮助大家对Elasticsearch有一个条理清晰的了解。

欢迎关注公众号Elastic慕容,和我一起进入Elastic的奇妙世界吧

收起阅读 »

2019Elastic中国开发者大会的精彩日程现已上线

请不要错过2019年12月7日在北京举行的Elastic 中国开发者大会 2019 (Elastic Dev Day China 2019),本次活动由 Elastic 官方再一次在中国举办的开发者大会,主要围绕 Elastic 的开源产品: Elasticsearch、Logstash、Kibana 和 Beats等,探讨在搜索、数据实时分析、日志分析、安全等领域的实践与应用。

大会亮点:
  • Elastic 官方在中国组织召开的开发者大会
  • Elastic Stack 7.x 最新功能更新介绍
  • Elastic 官方团队 AMA 展台(Ask Me Anything)
  • 三大主题分会场尽显技术架构、搜索开发和实践应用之美
  • 来自中国互联网头部公司和知名企业的最佳实践干货分享
  • 涵盖搜索数据中台、ELK的容器化和云原生等众多丰富议题
  • 深度剖析大规模搜索生产系统的体系架构、设计演进和平台优化技术



大会日程已经上线:请点击获取大会日程详情!https://www.bagevent.com/event/6072003
 

unnamed_(3).png

unnamed.png

unnamed_(2).png

unnamed_(1).png

 
这是本年度关于ELK、Elasticsearch和企业搜索的最佳盛会;精彩内容岂能错过?座位有限,现在就得动手!

早鸟票还有少量剩余,欢迎前往抢购!

限时提供标准票的9折优惠码,购票时点击“使用优惠或邀请码”,输入:zwsq 即可享受9者优惠!
 

中文社区.png

 
 
关于大会的更多详情请参阅大会官方网站:http://conf.elasticsearch.cn/
任何咨咨询请发邮件到:zheng.liu@elastic.co
 
继续阅读 »
请不要错过2019年12月7日在北京举行的Elastic 中国开发者大会 2019 (Elastic Dev Day China 2019),本次活动由 Elastic 官方再一次在中国举办的开发者大会,主要围绕 Elastic 的开源产品: Elasticsearch、Logstash、Kibana 和 Beats等,探讨在搜索、数据实时分析、日志分析、安全等领域的实践与应用。

大会亮点:
  • Elastic 官方在中国组织召开的开发者大会
  • Elastic Stack 7.x 最新功能更新介绍
  • Elastic 官方团队 AMA 展台(Ask Me Anything)
  • 三大主题分会场尽显技术架构、搜索开发和实践应用之美
  • 来自中国互联网头部公司和知名企业的最佳实践干货分享
  • 涵盖搜索数据中台、ELK的容器化和云原生等众多丰富议题
  • 深度剖析大规模搜索生产系统的体系架构、设计演进和平台优化技术



大会日程已经上线:请点击获取大会日程详情!https://www.bagevent.com/event/6072003
 

unnamed_(3).png

unnamed.png

unnamed_(2).png

unnamed_(1).png

 
这是本年度关于ELK、Elasticsearch和企业搜索的最佳盛会;精彩内容岂能错过?座位有限,现在就得动手!

早鸟票还有少量剩余,欢迎前往抢购!

限时提供标准票的9折优惠码,购票时点击“使用优惠或邀请码”,输入:zwsq 即可享受9者优惠!
 

中文社区.png

 
 
关于大会的更多详情请参阅大会官方网站:http://conf.elasticsearch.cn/
任何咨咨询请发邮件到:zheng.liu@elastic.co
  收起阅读 »

Elastic认证工程师考试经验分享

笔者于2019年10月参加并通过了Elastic Certified Engineer Exam, 在准备考试的三四个月的时间内,对考试的要求,考试的准备,考试的流程等有一些了解,因此总结这篇文章,希望对后续参加考试的朋友有一定的帮助。

1. 考试简介

Elastic Certified Engineer Exam是Elastic官方推出的Elasticsearch使用能力认证考试,通过该考试表明考生具备了通过执行一些列操作构建完整Elasticsearch解决方案的能力,这些操作包括包括集群安装,配置,管理,数据索引,查询,分析等。 详细介绍可以参考[Elastic Certified Engineer]

2. 考察点

认证考试介绍页面中有对考察点有明确的说明,可以参考[Exam Objectives], 考察点主要是Elasticsearch的使用(不考察Elastic stack其他组件如kibana, beat, logstash等的使用),不考察Elasticsearch的实现原理,考察点主要包括:

  • 集群的安装和配置:基本安装,配置,安全配置,角色和用户管理等
  • 索引数据:索引和文档的各种操作
  • 查询:各种查询场景
  • 聚合:各种聚合查询,如指标聚合,分桶聚合,嵌套聚合,pipeline聚合等
  • Mapping和Analzysis: 索引mapping和分词相关操作
  • 集群管理: shard分配,集群健康诊断,备份与恢复,冷热分离,跨集群检索等。

上述只是简单列举,详情以Exam Objectives为准

3. 考试准备

建议参加[Official Elastic Training], 该培训对Elasticsearch的使用会有详细的讲解,并有配套的lab,学习完课程,并认真完成各lab基本就具备了通过考试的能力。
另外要对Elasticsearch官方文档的结构有较为清晰的了解,能快速的查找到相关文档,当然如果能熟练使用kibana文档跳转和文档的搜索功能也可以。
另外还有一些考试通过者的一些经验:

4. 考试报名

  1. 考试购买
    • 注册Elastic Training网站
    • 可以在认证考试页面进行考试报名 按照指示步骤进行操作购买支付即可,考试费用是$400美元,可以使用visa或master信用卡支付
    • 支付完成在注册邮箱和Training网站账号页面的inbox中均会收到两封邮件,一封是订单信息,另一封是考试网站指引 购买成功后考试有一年的有效期,可以在购买后的一年时间内的任意时间预约考试
  2. 考试预约
    • 按照邮件指引注册examlocal 这是一个第三方考试网站,注意注册时使用和注册training网站相同的邮箱
    • 在schedule an Exam页面搜索Elastic Certificate Exam
    • 选择合适的考试时间,注意时区的选择
    • 最后校验会有一个checklist,检测你当前机器是否符合要求 这里要注意
    • 要按照指引为浏览器安装插件
    • 准备VPN,以保证考试时网络没有问题
    • 考试时后台不能有任何进程,如果机器上有默认无法禁用的程序要注意
    • 电脑要带摄像头和麦克风

5. 考试环境和流程

  1. 考试环境
    考试环境是一个通过浏览器连接的远程centos系统,通过terminal连接考试的各集群服务器,通过系统内浏览器来查看官方文档和作答考卷。关于环境的讲解可以查看官方讲解视频,考试环境和讲解中完全一致
  2. 考试流程
    考试开始前15分钟,考生通过考试网站指引进入考试系统,此时考官便可以通过摄像头和麦克风看到听到你,但是你是看不到听不到考官的,考官会通过一个聊天窗口与你打字沟通。
    考官会要求你先出示你的证件,注意这里一定要使用护照等带有拼音的证件,毕竟外国人不认识中文,如果没有此类证件,想要使用身份证,需要提前写邮件给Elasitc申请。
    接着考官会要求你抱着电脑环视周围,查看桌面上是否有任何物品,如果有物品如护照等,会被要求拿走放到其他地方。
    接着考官会要求你打开你电脑的任务管理器,查看是否有除去浏览器的其他进程。
    上述检查均通过后,便可以开始考试,考试时间是3个小时,考题也都是常规的一些集群使用相关的知识点,没有偏题怪题。考前看其他人的经验大概90分钟完成,我也基本在这个时间点完成。
    考试过程中可以向考官申请中途休息和喝水,考官会暂停考试。建议做完第一遍后进行检查,可能会发现一些细节问题,如单节点集群考试创建的索引默认一副本会导致集群yellow等。

6. 考题回顾

正式进入考题前会有一个考题作答讲解和集群情况描述,我的环境是三个集群,第一个是三节点,另外两个都是一节点,每个集群都带有一个kibana。 我的考题共10道,我这里只对考题考点做简单描述:

  1. 冷热分离架构配置
  2. update_by_query + script按照要求更新索引
  3. 自定义分词插件,让king's和kings有相同的评分
  4. nested类型和nested query
  5. dynamic mapping
  6. multi-match, boost, most_fields
  7. date-histogram, sub-aggregation
  8. 开启security
  9. 集群备份snapshot
  10. match_phrase, hightlighting, sort

7. 考试结果

考试成绩会在三个工作日内公布,但实际一般一个工作日就会出结果。如果通过考试会收到一封考试通过的邮件,如下
按照邮件指引便可以得到一个电子证书,如下图

最后分享一下从大洋彼岸寄过来的纪念币

最后祝大家考试顺利(●'◡'●)

欢迎关注公众号Elastic慕容,和我一起进入Elastic的奇妙世界吧

继续阅读 »

笔者于2019年10月参加并通过了Elastic Certified Engineer Exam, 在准备考试的三四个月的时间内,对考试的要求,考试的准备,考试的流程等有一些了解,因此总结这篇文章,希望对后续参加考试的朋友有一定的帮助。

1. 考试简介

Elastic Certified Engineer Exam是Elastic官方推出的Elasticsearch使用能力认证考试,通过该考试表明考生具备了通过执行一些列操作构建完整Elasticsearch解决方案的能力,这些操作包括包括集群安装,配置,管理,数据索引,查询,分析等。 详细介绍可以参考[Elastic Certified Engineer]

2. 考察点

认证考试介绍页面中有对考察点有明确的说明,可以参考[Exam Objectives], 考察点主要是Elasticsearch的使用(不考察Elastic stack其他组件如kibana, beat, logstash等的使用),不考察Elasticsearch的实现原理,考察点主要包括:

  • 集群的安装和配置:基本安装,配置,安全配置,角色和用户管理等
  • 索引数据:索引和文档的各种操作
  • 查询:各种查询场景
  • 聚合:各种聚合查询,如指标聚合,分桶聚合,嵌套聚合,pipeline聚合等
  • Mapping和Analzysis: 索引mapping和分词相关操作
  • 集群管理: shard分配,集群健康诊断,备份与恢复,冷热分离,跨集群检索等。

上述只是简单列举,详情以Exam Objectives为准

3. 考试准备

建议参加[Official Elastic Training], 该培训对Elasticsearch的使用会有详细的讲解,并有配套的lab,学习完课程,并认真完成各lab基本就具备了通过考试的能力。
另外要对Elasticsearch官方文档的结构有较为清晰的了解,能快速的查找到相关文档,当然如果能熟练使用kibana文档跳转和文档的搜索功能也可以。
另外还有一些考试通过者的一些经验:

4. 考试报名

  1. 考试购买
    • 注册Elastic Training网站
    • 可以在认证考试页面进行考试报名 按照指示步骤进行操作购买支付即可,考试费用是$400美元,可以使用visa或master信用卡支付
    • 支付完成在注册邮箱和Training网站账号页面的inbox中均会收到两封邮件,一封是订单信息,另一封是考试网站指引 购买成功后考试有一年的有效期,可以在购买后的一年时间内的任意时间预约考试
  2. 考试预约
    • 按照邮件指引注册examlocal 这是一个第三方考试网站,注意注册时使用和注册training网站相同的邮箱
    • 在schedule an Exam页面搜索Elastic Certificate Exam
    • 选择合适的考试时间,注意时区的选择
    • 最后校验会有一个checklist,检测你当前机器是否符合要求 这里要注意
    • 要按照指引为浏览器安装插件
    • 准备VPN,以保证考试时网络没有问题
    • 考试时后台不能有任何进程,如果机器上有默认无法禁用的程序要注意
    • 电脑要带摄像头和麦克风

5. 考试环境和流程

  1. 考试环境
    考试环境是一个通过浏览器连接的远程centos系统,通过terminal连接考试的各集群服务器,通过系统内浏览器来查看官方文档和作答考卷。关于环境的讲解可以查看官方讲解视频,考试环境和讲解中完全一致
  2. 考试流程
    考试开始前15分钟,考生通过考试网站指引进入考试系统,此时考官便可以通过摄像头和麦克风看到听到你,但是你是看不到听不到考官的,考官会通过一个聊天窗口与你打字沟通。
    考官会要求你先出示你的证件,注意这里一定要使用护照等带有拼音的证件,毕竟外国人不认识中文,如果没有此类证件,想要使用身份证,需要提前写邮件给Elasitc申请。
    接着考官会要求你抱着电脑环视周围,查看桌面上是否有任何物品,如果有物品如护照等,会被要求拿走放到其他地方。
    接着考官会要求你打开你电脑的任务管理器,查看是否有除去浏览器的其他进程。
    上述检查均通过后,便可以开始考试,考试时间是3个小时,考题也都是常规的一些集群使用相关的知识点,没有偏题怪题。考前看其他人的经验大概90分钟完成,我也基本在这个时间点完成。
    考试过程中可以向考官申请中途休息和喝水,考官会暂停考试。建议做完第一遍后进行检查,可能会发现一些细节问题,如单节点集群考试创建的索引默认一副本会导致集群yellow等。

6. 考题回顾

正式进入考题前会有一个考题作答讲解和集群情况描述,我的环境是三个集群,第一个是三节点,另外两个都是一节点,每个集群都带有一个kibana。 我的考题共10道,我这里只对考题考点做简单描述:

  1. 冷热分离架构配置
  2. update_by_query + script按照要求更新索引
  3. 自定义分词插件,让king's和kings有相同的评分
  4. nested类型和nested query
  5. dynamic mapping
  6. multi-match, boost, most_fields
  7. date-histogram, sub-aggregation
  8. 开启security
  9. 集群备份snapshot
  10. match_phrase, hightlighting, sort

7. 考试结果

考试成绩会在三个工作日内公布,但实际一般一个工作日就会出结果。如果通过考试会收到一封考试通过的邮件,如下
按照邮件指引便可以得到一个电子证书,如下图

最后分享一下从大洋彼岸寄过来的纪念币

最后祝大家考试顺利(●'◡'●)

欢迎关注公众号Elastic慕容,和我一起进入Elastic的奇妙世界吧

收起阅读 »

【腾讯】【深圳/北京】Elasticsearch高级研发工程师

腾讯Elasticsearch团队负责支持腾讯云Elasticsearch产品及公司内部海量业务,我们的目标是建设高可用、高性能、低成本的Elasticsearch服务。我们正在持续招聘,级别不限,腾讯的薪资福利待遇丰厚,详细招聘信息如下:

Elasticsearch高级研发工程师 
岗位职责:
负责腾讯云Elasticsearch内核的架构优化、新特性开发;
负责预研分布式存储系统、NoSQL等相关技术,推动Elasticsearch技术发展;
负责腾讯云Elasticsearch产品的运营建设、日常维护;

职位要求:
1. 本科及以上学历,计算机、软件等相关专业;
2. 编程能力扎实,熟悉Java/C++中的一种,具有良好的数据结构、算法、操作系统等计算机基本知识;
3. 熟悉ElasticSearch/Lucene开源系统,有实际开发经验者优先;
4. 熟悉Hadoop、HBase、InfluxDB等开源系统,有云计算相关开发经验者优先;
5. 对新技术敏感,追求卓越,能快速学习并具备较强的技术领悟能力;
 
工作地点:
深圳、北京

欢迎加入我们,一起探索Elasticsearch!大家可通过以下方式联系我们 或 投递简历:
邮件:johngqjiang@tencent.com
微信:jgq2008303393
 
 
继续阅读 »
腾讯Elasticsearch团队负责支持腾讯云Elasticsearch产品及公司内部海量业务,我们的目标是建设高可用、高性能、低成本的Elasticsearch服务。我们正在持续招聘,级别不限,腾讯的薪资福利待遇丰厚,详细招聘信息如下:

Elasticsearch高级研发工程师 
岗位职责:
负责腾讯云Elasticsearch内核的架构优化、新特性开发;
负责预研分布式存储系统、NoSQL等相关技术,推动Elasticsearch技术发展;
负责腾讯云Elasticsearch产品的运营建设、日常维护;

职位要求:
1. 本科及以上学历,计算机、软件等相关专业;
2. 编程能力扎实,熟悉Java/C++中的一种,具有良好的数据结构、算法、操作系统等计算机基本知识;
3. 熟悉ElasticSearch/Lucene开源系统,有实际开发经验者优先;
4. 熟悉Hadoop、HBase、InfluxDB等开源系统,有云计算相关开发经验者优先;
5. 对新技术敏感,追求卓越,能快速学习并具备较强的技术领悟能力;
 
工作地点:
深圳、北京

欢迎加入我们,一起探索Elasticsearch!大家可通过以下方式联系我们 或 投递简历:
邮件:johngqjiang@tencent.com
微信:jgq2008303393
 
  收起阅读 »