暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

搜索之ES-1.ES简介

方家小白 2021-02-08
102

ES简介

Elasticsearch
是一个开源的分布式 RESTful
搜索分析引擎,能够解决越来越多不同的应用场景。Elasticsearch
是一个高度可扩展的开源分布式全文本搜索和分析引擎。它使您可以快速,近乎实时地存储,搜索和分析大量数据。它通常用作支持具有复杂搜索功能和要求的应用程序的基础引擎/技术。提供了丰富的 RESTful
API.

这里 特别记住 搜索  和 分析 这两个词,后面我们花大量篇幅去学习 ES
的这两个功能,体验 ES
的强大之处。

ES发展历史

2010年2月 第一次发布

2014年1月 发布了1.0版本

2015年10月,发布2.0版本

2016年10月,发布5.0版本

  • 支持 lucene 6.x.性能提升。默认打分机制从TF-IDF 改为 BM25
  • 支持 Ingest节点 Painless Scripting / Completion Suggested 支持 / 原生的 Java Rest 客户端
  • Type 标记为 deprecated , 支持 keyword 的类型
  • 性能优化
    • 内部引擎移除了避免同一文档并发更新的竞争锁,带来了15%-20%的性能提升
    • Instant Aggregation ,支持分片上聚合的缓存
    • 新增了 Profile API

2017年10月, 发布6.0版本

  • 支持 Lucence 7.x版本
  • 新增功能: 跨集群复制, 索引生命周期管理, SQL的支持
  • 更友好的升级和数据迁移: 在主要版本之间的迁移更为简化,体验升级。全新的基于操作的数据复制框架,可以加快数据恢复。
  • 性能优化: 有效存储稀疏字段的新方法,降低了存储成本。在索引时进行排序,可以加快排序的查询性能。

2019年4月,发布7.0版本

  • 支持 Lucene 8.0 版本
  • 重大改进 - 正式废除单个索引下多个Type的支持
  • 7.1开始,Security 功能免费使用
  • ECK - 支持Elasticsearch operator on kubernetes
  • 新功能: New Cluster Coordination, Feature-Complete High Level Rest Client, Script Score Query
  • 性能优化: 默认的Primary Shard数从5改为1,避免Over Sharding. 性能优化,更快的Top K

7.10

  1. ES的索引速度提升了20%。
  2. 我们重新引入了时间点(pit),这是一种保存搜索索引状态的轻量级方法。凹坑通过使ui更具反应性来改善最终用户体验。
  3. 默认情况下,我们使大多数EQL运算符和函数区分大小写。我们还添加了:,一个新的不区分大小写的equal运算符。专为安全用例而设计
  4. REST API对系统索引的访问已弃用
  5. 系统索引的新线程池。添加了两个新的线程池:system_read和system_write。这些线程池可确保对Elastic Stack至关重要的系统索引(例如安全性或Kibana所使用的系统索引)在集群承受沉重的查询或索引负载时保持响应能力。system_read是固定线程池,用于管理针对系统索引的读取操作的资源。同样,system_write是一个固定线程池,用于管理用于针对系统索引的写操作的资源。两者的最大线程数等于可用处理器的5或一半,以较小者为准。

ES的生态圈

elastic search

Elasticsearch
Elastic Stack
核心的分布式搜索和分析引擎。Logstash
和   有助于收集,聚合和丰富您的数据并将其存储在Elasticsearch
中。使用  ,您可以交互式地探索,可视化和共享对数据的见解,并管理和监视堆栈。Elasticsearch
是发生索引,搜索和分析 魔力的地方。

Elasticsearch
为所有类型的数据提供近乎实时的搜索和分析。无论您是结构化文本还是非结构化文本,数字数据或地理空间数据,Elasticsearch
都能以支持快速搜索的方式有效地对其进行存储和索引。您不仅可以进行简单的数据检索,还可以聚合信息来发现数据中的趋势和模式。随着数据和查询量的增长,Elasticsearch
的分布式特性使您的部署可以随之无缝地增长。

kibana

Kibana
是一个开源的分析和可视化平台。使用Kibana
来探索你的Elasticsearch
数据,然后建立漂亮的可视化和仪表板。Kibana
具有管理弹性栈的UI。管理您的安全设置,分配用户角色,拍摄快照,卷起您的数据,以及更多,都从一个Kibana UI
的便利。Elastic
栈解决方案的集中式中心。从日志分析到文档发现.

beats

Beats
是您作为代理安装在服务器上的开源数据发送者,用于将运营数据发送到Elasticsearch
。其提供了数据审核,日志文件,云数据,可用性,系统日志,指标,网络流量,Windows
事件记录等功能。Beats
可以将数据直接发送到Elasticsearch
或通过Logstash
发送,您可以在此处进一步处理和增强数据,然后再在Kibana中进行可视化。beats
为不同的功能,提供了不同的组件,可以根据自己的需求,安装特定的产品.

logstash

Logstash
是一个具有实时管道功能的开源数据收集引擎。Logstash
可以动态地统一来自不同数据源的数据,并将数据规范化到您选择的目的地。为各种高级下游分析和可视化用例清理和民主化所有数据。虽然Logstash
最初推动了日志收集方面的创新,但它的功能远远超出了这个用例。任何类型的事件都可以通过大量的输入、过滤和输出插件来丰富和转换,并且使用许多本地编解码器进一步简化了吸收过程。

x-pack

x-pack是elasticsearch的一个扩展包,将安全,警告,监视,图形和报告功能捆绑在一个易于安装的软件包中,可以轻松的启用或者关闭一些功能

ES的应用场景

  • 将搜索框添加到应用或网站
  • 存储和分析日志,指标和安全事件数据
  • 使用机器学习来实时自动建模数据行为
  • 使用Elasticsearch作为存储引擎自动化业务工作流程
  • 使用Elasticsearch作为地理信息系统(GIS)管理,集成和分析空间信息
  • 使用Elasticsearch作为生物信息学研究工具来存储和处理遗传数据 ....

最后

希望和你一起遇见更好的自己

方家小白


文章转载自方家小白,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论