大家好,我是Edison。

最近需要用到ElasticSearch,于是想要系统学习了解下,于是这就开始啦。

什么是ElasticSearch?

ElasticSearch是一款开源的分布式搜索分析引擎,它可以提供近实时(Near Real Time)的分布式存储/搜索/分析引擎服务

起源:Lucene

ElasticSearch起源于Lucene,Lucene是一个基于Java开发的搜索引擎类库,创建于1999年,于2005年成为Apache顶级开源项目。Lucene具有高性能和易扩展的优点,但也有一定的局限性:只能基于Java开发,学习曲线陡峭,原生不支持水平扩展等。

重生:ElasticSearch

2004年Shay Banon基于Lucene开发了Compass,2010年Shay Banon重写了Compass,并改名为ElasticSearch,它完美解决了Lucene的局限!

ElasticSearch支持分布式,可水平扩展,且降低了全文检索的学习曲线,可以被任何编程语言调用。

ElasticSearch的主要功能

ElasticSearch主要提供了三大核心功能:

(1)海量数据的分布式存储以及集群管理

服务和数据的高可用,水平扩展

(2)近实时搜索,性能卓越

结构化 / 全文 / 地理位置 / 自动完成

(3)海量数据的近实时分析

聚合功能

支持多种方式集成接入

ElasticSearch提供了多种方式进行接入:

(1)多种编程语言类库,如Java/.NET/Python/PHP等;

(2)RESTful API v.s Transport API

(3)JDBC & ODBC

ElasticStack 生态圈

ElasticStack目前有如下图所示的成熟生态圈:

  • Logstash:数据处理管道,支持从不同来源采集数据并转换数据,最后将数据发送到不同的存储库中。
  • Beats:轻量级的数据采集器,如Filebeat、Packetbeat、Winlogbeat、Metricbeat、Heartbeat等。
  • Kibana:可视化分析利器,帮助我们解开对数据的任何疑问,强大的数据展示能力。
  • X-Pack:商业化套件,也就是付费用户专享了,有OSS、Basic、黄金版 和 白金版几个License类别。

ELK 应用场景

我们常常所听到的ELK其实是ElasticSearch + Logstach + Kibana的组合缩写,ELK被广泛的应用在下面这几个应用场景中:

(1)网站搜索 / 垂直搜索 / 代码搜索

(2)日志管理与分析 / 安全指标监控 / 应用性能监控

其中,日志管理与分析 可能是大家最熟悉的应用场景,因为日志对应用系统来说太重要了,它就像是医生给病人看病,日志就是病人对自己的陈述。

小结

本篇,我们了解了ElasticSearch是什么,它有什么样的特点,提供了什么主要的功能 以及 ELK的主要应用场景。至今,ElasticSearch已有超过2.5亿的下载量,不仅有良好的开发者社区,更有大量的互联网公司使用案例。

下一篇,我们就搭建一个ElasticSearch,并进行简单的配置,玩起来!

参考资料

极客时间,阮一鸣,《ElasticSearch核心技术与实战

作者:周旭龙

出处:https://edisonchou.cnblogs.com

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

Elastic学习之旅 (1) 初识ElasticSearch的更多相关文章

  1. 我的angularjs源码学习之旅1——初识angularjs

    angular诞生有好几年光景了,有Google公司的支持版本更新还是比较快,从一开始就是一个热门技术,但是本人近期才开始接触到.只能感慨自己学习起点有点晚了.只能是加倍努力赶上技术前线. 因为有分析 ...

  2. 笔记:C++学习之旅---初识C++

    笔记:C++学习之旅---初识C++          博主也是一个新手,学习编程才一年左右,刚大学毕业不久,以前在学校学习的语言主要是C,本人是从嵌入式学起的!我现在从事的公司主要是C++,所以我也 ...

  3. WCF学习之旅—第三个示例之四(三十)

           上接WCF学习之旅—第三个示例之一(二十七)               WCF学习之旅—第三个示例之二(二十八)              WCF学习之旅—第三个示例之三(二十九)   ...

  4. Hadoop学习之旅二:HDFS

    本文基于Hadoop1.X 概述 分布式文件系统主要用来解决如下几个问题: 读写大文件 加速运算 对于某些体积巨大的文件,比如其大小超过了计算机文件系统所能存放的最大限制或者是其大小甚至超过了计算机整 ...

  5. WCF学习之旅—第三个示例之二(二十八)

    上接WCF学习之旅—第三个示例之一(二十七) 五.在项目BookMgr.Model创建实体类数据 第一步,安装Entity Framework 1)  使用NuGet下载最新版的Entity Fram ...

  6. WCF学习之旅—第三个示例之三(二十九)

    上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) 在上一篇文章中我们创建了实体对象与接口协定,在这一篇文章中我们来学习如何创建WCF的服务端代码.具体步骤见下面. ...

  7. WCF学习之旅—WCF服务部署到IIS7.5(九)

    上接   WCF学习之旅—WCF寄宿前的准备(八) 四.WCF服务部署到IIS7.5 我们把WCF寄宿在IIS之上,在IIS中宿主一个服务的主要优点是在发生客户端请求时宿主进程会被自动启动,并且你可以 ...

  8. WCF学习之旅—WCF服务部署到应用程序(十)

    上接  WCF学习之旅—WCF寄宿前的准备(八) WCF学习之旅—WCF服务部署到IIS7.5(九) 五.控制台应用程序宿主 (1) 在解决方案下新建控制台输出项目 ConsoleHosting.如下 ...

  9. WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一)

    上接    WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) 七 WCF服务的Windows 服务程序寄宿 这种方式的服务寄宿,和IIS一样有一个一样 ...

  10. WCF学习之旅—WCF服务的WAS寄宿(十二)

    上接    WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一) 八.WAS宿主 IIS ...

随机推荐

  1. JavaScript将时间戳转化为时间

    const timestampToTime= (timestamp) => { const date = new Date(timestamp * 1000); const year = dat ...

  2. api使用流程、Scanner键盘录入字符串

    1.api介绍 2.api使用流程 API帮助文档的使用流程 在索引位置搜索自己要查看的类 看包 目的: 是不是java.lang包(核心包), 不需要编写导包代码(import) - 不是java. ...

  3. 【教程】Windows10系统激活

    Windows10系统激活 一.找一个激活码 到百度搜索,筛选发表日期在最近一个月或者一周之内的 二.以管理员身份打开cmd 按Win+R键,输入cmd打开命令行窗口 按Ctrl+Shift+Esc键 ...

  4. HTB打靶记录-TheFrizz

    信息收集 nmap -sV -sC -O 10.10.11.60 Nmap scan report for 10.10.11.60 Host is up (0.63s latency). Not sh ...

  5. 1、HTML常用标签

    此文章为学习笔记以下内容为HTML常用标签. 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset=&quo ...

  6. C# 拓展方法( 二)——模拟拓展方法的场景

    namespace ExpandingMethodDemo{ class Program { static void Main(string[] args) { Phone ph = new Phon ...

  7. 45分钟从零搭建私有MaaS平台和生产级的Qwen3模型服务

    今天凌晨,阿里通义团队正式发布了 Qwen3,涵盖六款 Dense 模型(0.6B.1.7B.4B.8B.14B.32B)和两款 MoE 模型(30B-A3B 和 235B-A22B).其中的旗舰模型 ...

  8. mysql服务未启动报错2003-Can't connect to MySQL server on 'localhost' (10061 "Unknown error")

    解决方法:开启mysql服务再试试 管理员身份运行cmd 开启mysql服务net start mysql 关闭mysql服务 net stop mysql

  9. 【记录】C语言|获取其他文件的绝对路径转为相对路径的两种代码

    GetModuleFileName获取当前程序的绝对路径.然后对比再strcat之类的. 只能获得同一盘符下的相对路径: #include <string.h> /*pa是绝对路径,rel ...

  10. 【安装】Ubuntu 20.04下快速安装ROS2 Foxy

    参考博客 ROS2安装 有的地方原博主打错了,还没改过来,我按我自己的改好了. 有的地方比如github和raw.githubusercontent.com访问不了,我替换成能用的镜像源了,只求一键复 ...