Elasticsearch系列【1】概述

news2025/8/12 21:14:46

有道无术,术尚可求,有术无道,止于术。

文章目录

    • Elastic公司
    • Elastic Stack
      • Elasticsearch
        • 结构化/非结构化数据
        • 全文搜索
        • ES 发展史
        • ES 特点
        • ES 应用场景
        • ES 应用案例
      • Beats 系列
      • Logstash
      • Kibana

Elastic公司

Elastic是一家以搜索引擎闻名世界的软件公司。于2012年成立,总部位于美国的山景城。

2018年10月上市,目前市值近50多亿美金。❗️❗️❗️
在这里插入图片描述

Elastic 公司致力于结构化和非结构化数据的分布式实时全文搜索及分析,典型应用场景包括日志管理、分析、系统指标分析、安全分析、企业搜索、网站搜索、应用搜索、应用性能管理APM等。

Elastic 公司产品包括享誉业界的 Elastic Stack、具备多种高级特性的商业扩展插件、云服务Elastic Cloud等。

国内代表用户华为,联想,华大基因,腾讯,网易,阿里巴巴,百度,携程,滴滴,京东,顺丰🐆🐆🐆

Elastic Stack

官网地址

Elastic Stack是一些系列能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化的软件。核心产品包括 ElasticsearchKibanaBeatsLogstash等等。

Elasticsearch

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎。作为Elastic Stack的核心,Elasticsearch 集中存储数据,并完成数据搜索、分析。

结构化/非结构化数据

1、结构化数据

就像结构化一词所暗示的那样,这是高度组织化且格式整齐的数据,结构化数据被组织以表格格式(即,行和列)和有不同的行和列之间的关系,因此它是高度组织和格式化的,易于存储,处理和访问

主要通过关系型数据库进行存储和管理。

2、非结构化数据

非结构化数据是未以任何预定义方式进行组织的数据,非结构化数据中的不规则性和混乱使得难以处理和理解。不适于由数据库二维表来表现,常见的包括所有格式的办公文档、Word 文档,邮件,各类报表、图片和咅频、视频信息等。

3、半结构化数据

可以更加细分具有自己特定的标签格式,可以根据需要按结构化数据来处理,也可抽取出纯文本按非结构化数据来处理的数据为半结构化数据。例如XML、JSON、HTML、NoSQL DB等。

全文搜索

对于结构化数据的搜索,如对数据库数据的搜索,可以使用 SQL 语句,也可以建⽴索引,通过索引快速搜索数据。

非结构化数据搜索方法主要有顺序扫描全文搜索

1、 顺序扫描

顺序扫描顾名思义,就是按照顺序依次扫描,例如要找出内容包含某个字符串的文件,需要依次对所有文件扫描,对于每一个文件,从头到尾扫描,如果当前文件包含该字符,此文件放入结果集,接着扫描下一个文件,直到扫描所有的文件,返回结果集。

顺序扫描查询准确率高,查询速度会随着查询数据量的增大而急速变慢。

2、 全文搜索

非结构化数据中的一部分信息提取出来,重新组织,建立索引,使其变得有一定结构,然后对此有一定结构的数据进行搜索,从而达到搜索相对较快的目的。这种先建立索引,再对索引进行搜索的过程就叫全文检索(Full-text Search)

例如字典的拼音表和部首检字表就相当于字典的索引,对每一个字的解释是非结构化的,如果字典没有音节表和部首检字表,在茫茫辞海中找一个字只能顺序扫描。

然而字的某些信息可以提取出来进行结构化处理,比如读音,就比较结构化,分声母和的母,分别只有几种可以一一列举,于是将读音拿出来按一定的顺序排列,每一项读音都指向此字的详细解释的页数。我们搜索时按结构化的拼音搜到读音,然后按其指向的页数,便可找到我们的非结构化数据也即对字的解释。

虽然创建索引的过程也是非常耗时的,但是索引一旦创建就可以多次使用,全文检索主要处理的是查询,所以耗时间创建索引是值得的。

互联网全文搜索引擎就是通过从互联网上提取的各个网站的信息(以网页文字为主)而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果返回给用户。国外代表有 Google,国内则有百度

ES 发展史

Shay BanonElasticSearch的创始人,他曾说过:搜索是每一个软件都必须拥有的功能

2004年Shay Banon基于Lucene开发了Compass(ES的前身)。

2010年Shay Banon重写了Compass,取名ElasticSearch

2010年2 月,Elasticsearch第一个公开版本正式发行,成为Github上最受欢迎的开源项目之一。

ES 特点

1、分布式

无论Elasticsearch是在一个节点上运行,还是在一个包含 300 个节点的集群上运行,都能够以相同的方式与Elasticsearch进行通信。

它能够水平扩展,每秒钟可处理海量事件,同时能够自动管理索引和查询在集群中的分布方式,以实现极其流畅的操作。

2、高可用

Elasticsearch 自动检测硬件、网络故障,并确保集群(和数据)的安全性和可用性。

Elasticsearch 运行在一个分布式的环境中,通过跨集群复制功能,辅助集群可以作为热备份随时投入使用。

3、廉价存储

数据是不断变化的,这使得存储和搜索全部数据变得非常昂贵。Elasticsearch 能让您在性能和成本之间取得平衡。可以将数据存储在本地以实现快速查询,也可以将无限量的数据远程存储于低成本的服务器上。

4、智能搜索

基于各项元素(从词频或新近度到热门度等)对搜索结果进行排序。将这些内容与功能进行混搭,以优化向用户显示结果的方式。

而且,由于我们的大部分用户都是真实的人,Elasticsearch 具备齐全功能,可以处理包括各种复杂情况(例如拼写错误)在内的人为错误。

5、搜索方式多样性

通过 Elasticsearch,能够执行及合并多种类型的搜索(结构化数据、非结构化数据、地理位置、指标),搜索方式随心而变。

6、海量数据

找到与查询最匹配的 10 个文档并不困难。但如果面对的是十亿行日志,又该如何解读呢?Elasticsearch 聚合让您能够从大处着眼,探索数据的趋势和规律。

7、速度快

通过有限状态转换器实现了用于全文检索的倒排索引,实现了用于存储数值数据和地理位置数据的BKD树,以及用于分析的列存储。

而且由于每个数据都被编入了索引,因此不用因为某些数据没有索引而烦心。可以用快到令人惊叹的速度使用和访问所有数据。

ES 应用场景

适用于所有数据类型。数字、文本、地理位置、结构化数据、非结构化数据。全文本搜索只是全球众多公司利用 Elasticsearch 解决各种挑战的冰山一角。

在这里插入图片描述

ES 应用案例

GitHub: 2013 年初,抛弃了 Solr,采取 Elasticsearch 来做 PB 级的搜索。 GitHub 使用Elasticsearch 搜索 20TB 的数据,包括 13 亿文件和 1300 亿行代码。

维基百科:以Elasticsearch为基础的核心搜索架构。

百度:目前广泛使用 Elasticsearch 作为文本数据分析,采集百度所有服务器上的各类指标数据及用户自定义数据,通过对各种数据进行多维分析展示,辅助定位分析实例异常或业务层面异常。目前覆盖百度内部 20 多个业务线(包括云分析、网盟、预测、文库、直达号、钱包、 风控等),单集群最大 100 台机器,200个 ES 节点,每天导入 30TB+数据。

新浪:使用Elasticsearch分析处理 32 亿条实时日志。

阿里:使用 Elasticsearch 构建日志采集和分析体系。

Stack Overflow:解决 Bug 问题的网站,全英文,编程人员交流的网站。

Beats 系列

Beats系列集合了多种单一用途数据采集器,可以从成百上千或成千上万台机器和系统向 Logstash Elasticsearch 发送数据。

在这里插入图片描述

Logstash

Logstash是具有实时流水线能力的开源的数据收集引擎。可以动态统一不同来源的数据,并将数据标准化到您选择的目标输出。它提供了大量插件,可帮助我们解析,丰富,转换和缓冲任何类型的数据。

在这里插入图片描述

Kibana

Kibana 是一个免费且开放的用户可视化界面,能够让您对Elasticsearch数据进行可视化。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/33394.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pythoin爬虫2之利用cookie进行登录

python爬虫2之利用cookie进行登录利用requests模拟post方法cookies的获取session综合实例拓展:实现时间间隔(第一次抓取后间隔...秒进行下一次抓取)利用requests模拟post方法 requests.post(url,data,hearders) url即要解析的网址data即是向服…

【学习笔记18】JavaScript对象的基本认识

一、什么是对象 (一)概念 😃 就是一个数据的集合(复杂数据)😁 对象属于复杂数据类型(引用数据类型) (二)知识点的补充 JS 的数据类型 1. 基本数据 2. 复杂数据(引用数据类型) 引用数…

图像处理技术:数字图像分割 ------ 图像分割、边界分割(边缘检测)、区域分割

一、图像分割概述 • 定义 是指根据灰度、彩色、空间纹理、几何形状等特征把图像划分 成若干个互不相交的区域,使得这些特征在同一区域内表现出一致 性或相似性,而在不同区域间表现出明显的不同 分割出来的区域应该同时满足: (1&#xff09…

opencv之修改尺寸、灰度转换(python)

1、修改图片大小 #修改图片大小 resize_img cv.resize(img,dsize(200,100)) 完整代码 import cv2 as cv img cv.imread("C:\\Users\\Administrator\\Desktop\\huge.jpg") #修改图片大小 resize_img cv.resize(img,dsize(200,100)) #显示修改后图片 cv.imshow(修改…

【单目标优化求解】贪婪非分级灰狼算法求解单目标优化问题(G-NHGWO)【含Matlab源码 2005期】

⛄一、贪婪随机自适应搜索算法简介 1 贪婪随机自适应搜索算法 GRASP算法分两个阶段,构造阶段和局部搜索阶段[3]。在构造阶段,初始化可行解S和候选集C,并对候选集的每一个元素进行评估,判断是否可加入限制候选列表(Res…

西电通信技术基础实验

实验一 基带传输常用编码 实验内容 数字编码技术:AMI码、曼彻斯特编码、HDB3码 实验目的 掌握几种基带传输常用码型的编码规则,如AMI码、HDB3码、曼彻斯特码。然后利用MATLAB设计并实现它们的编码。 实验环境 MATLAB程序设计、MATLAB Simulink仿真…

IMX6ULL + SPI LCD(驱动IC ILI9341)显示简单的QT界面

1. 硬件: 使用正点原子的IMX6ULL Linux开发板 开发板底板原理图版本:V2.1 核心板原理图版本:V1.6 LCD :MSP2402 (IC ILI9341) 2. 查找可用引脚 开发板上引出的引脚是在JP6上,只看JP6会发现没有可用的SPI引脚&…

【前端内容学习】vue的引用,下载,语法

&#xff08;1&#xff09;vue的使用方式 原版本应该是三种使用方式&#xff0c;但是现在vue官网好像已经找不到关于本地下载的内容了 1&#xff0c;直接在官网上引用网络CDN文件&#xff0c;注意这种引用方式&#xff0c;要把这一段写在所有使用vue的部分前面 <script s…

蓝鲸研运体系在腾讯内的应用实践

蓝鲸是腾讯IEG十多年研运探索的经验与成果&#xff0c;积累了很多人的智慧与付出。由于腾讯IEG的业务特殊性&#xff0c;蓝鲸体系天生地展现出对异构业务的友好&#xff0c;避免了需要重复造轮子才能完成对多业务的支持。本次分享主要介绍蓝鲸研运体系在腾讯内的发展、应用及未…

【Linux】Linux常用命令

目录一.帮助命令1.man获取帮助信息2.help获取shell内置命令的帮助信息3.怎么判断命令的类型4.使用man查看内置命令5.常用快捷键二.文件目录类命令1.pwd 显示当前工作目录的绝对路径2.cd 切换路径3.ls 列出目录的内容4.mkdir 创建一个新的目录(文件夹)5.rmdir 删除目录(文件夹)6…

linux64/ubuntu20.04安装NVIDIA驱动详细过程

每次安装Nvidia驱动的时候都要查询&#xff0c;各种各样的教程可能也不大适合自己&#xff0c;故记录一下安装过程&#xff1b; 本人所使用的系统为ubuntu20.04&#xff0c;64bit&#xff1b; 1、查看是否存在nvidia的显卡信息 命令&#xff1a;lspci | grep NVIDIA 2、根据显…

奥迪Q3电瓶损坏问题解决思路

背景 最近自己的小Q3坏了&#xff0c;具体场景就是无钥匙进入感应不生效&#xff0c;所有钥匙按键失灵&#xff0c;通过机械钥匙可以开启门锁但是汽车完全无法启动&#xff0c;方向盘锁死&#xff0c;灯光没有反应。初步推断电瓶损坏&#xff0c;或者漏电导致完全亏电。 怎么判…

数理统计笔记6:假设检验

引言 数理统计笔记的第6篇先介绍了假设检验&#xff0c;给出了各种常用的假设检验的方法&#xff0c;最后介绍了用置信区间和p值来进行假设检验的方法。 引言假设检验描述什么是假设什么是假设检验假设检验的基本思想假设检验的步骤假设检验的原理假设检验的两类错误双侧检验和…

【微电网优化】粒子群优化算法的微电网调度(光伏、储能、电动车、电网交互)【含Matlab源码 2190期】

⛄一、粒子群算法求解电联供型微电网经济运行优化简介 0 引言 热电联供 (combined heat and power, CHP) 系统建立在能源梯级利用的概念基础上, 统一解决了电能和热能的供应问题, 是一种经济节能、环境友好的用能方式, 具有良好的社会和经济效益, 在国内外引起广泛关注。在发展…

ShareSDK for Flutter

前言 这是一个基于ShareSDK功能的扩展的Flutter插件。使用此插件能够帮助您在使用Flutter开发应用时,快速地实现社会化功能,例如第三方授权登录,获取用户信息以及社交平台的分享等功能。 Demo例子&#xff1a;https://github.com/MobClub/ShareSDK-For-Flutter 开始集成 引入…

C++ 语言学习 day11 复习(3)

1.第一个是昨天的作业&#xff1a; 用类实现一个双向循环链表&#xff0c; 完成对应的功能&#xff0c;&#xff08;增删查改 &#xff09; 代码&#xff1a; list.h #ifndef LIST_H #define LIST_H #include <iostream> #include <string.h> using namespace s…

WebRTC入门教学和一对一通话实现

WebRTC入门学习 简介 大体架构 互联网实时通信平台&#xff0c;html5标准之一&#xff0c;使用简单的API就可以实现音频通信。 紫色部分的是Web应用开发者需要关注的部门&#xff0c;也就是WebRTC提供给开发者的接口蓝色部分是提供给浏览器厂商的接口&#xff0c;浏览器厂…

2023年天津理工大学中环信息学院专升本专业课报名考试须知

天津理工大学中环信息学院 2023年高职升本科专业课考试须知 根据《2023年天津市高职升本科招生实施办法》的相关要求&#xff0c;为做好高职升本科专业考试的报考工作&#xff0c;全面服务考生&#xff0c;保障考生权益&#xff0c;结合疫情防控要求&#xff0c;现将考试具体事…

14天学习训练营之 入门Pygame

目录 学习知识点 pygame 的 “hello world” pygame 模块概览 事件 理解事件 事件检索 处理鼠标事件 处理键盘事件 事件过滤 产生事件 模板代码 写一个把所有发生的事件输出的程序 使用方向键来移动图片 产生一个完全自定义的全新事件 这个程序让 “hello world”…

Linux--信号量

1.信号量的定义: 信号量是一个特殊的变量&#xff0c;一般取正数值。它的值代表允许访问的资源数目&#xff0c; 获取资源时&#xff0c;需要对信号量的值进行原子减一&#xff0c;该操作被称为p操作。当信号量值为0时&#xff0c;代表没有资源可用&#xff0c;p操作会阻塞。释…