Elasticsearch 介绍

1、课程介绍

1.1 ES 8.x 演化进程

版本号发布日期多少个次要版本迭代历时
8.02022年2月11日至今
7.02019年4月11日17个次要版本34个月
6.02017年11月15日8个次要版本17个月
5.02016年10月27日6个次要版本13个月

2、Elasticsearch 是什么

2.1 概念

2.1.1 标准定义

Elasticsearch(以下简称 ES)是一个天生支持分布式的搜索、聚合分析和存储引擎。

2.1.2 其他形式

ES 是一个基于 Java 语言开发的,基于 Lucene 的开源分布式搜索引擎。

2.2 Elastic Stack

Elasticsearch 同时也是 Elastic 技术体系(Elastic Stack)中最核心的成员。

image.png

Elastic Stack 技术栈除了 ES 之外,还囊括了:

  • Kibana:提供了功能强大的图形化工具。
  • Logstash:动态数据收集管道
  • Beats:轻量化数据采集器

image.png

ELK 到底是什么呢?

“ELK”是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch、Logstash 和 Kibana。Elasticsearch 是一个搜索和分析引擎。Logstash 是服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸如 Elasticsearch 等“存储库”中。Kibana 则可以让用户在 Elasticsearch 中使用图形和图表对数据进行可视化。

Elastic Stack 是 ELK Stack 的更新换代产品。

2.2.1 一切都起源于 Elasticsearch

ES 这个开源的分布式搜索引擎基于 JSON 开发而来,具有 RESTful 风格。它使用简单,可缩放规模,十分灵活,因此受到用户的热烈好评,而且如大家所知,围绕这一产品还形成了一家专门致力于搜索的公司。
image.png

2.2.2 引入 Logstash 和 Kibana

image.png
Elasticsearch 的核心是搜索引擎,所以用户开始将其用于日志用例,并希望能够轻松地对日志进行采集和可视化。有鉴于此,我们引入了强大的采集管道 Logstash 和灵活的可视化工具 Kibana。

2.2.3 然后向 ELK 中加入了 Beats

“我只想对某个文件进行 tail 操作,”用户表示。我们用心倾听。在 2015 年,我们向 ELK Stack 中加入了一系列轻量型的单一功能数据采集器,并把它们叫做 Beats。
image.png

2.2.4 Elastic Stack 应运而生

和用户一直以来熟知并喜爱的开源产品一模一样,只是集成程度更高了,功能更加强大了,入门也更加容易了,而且可以带来无限可能。
image.png
Elastic Stack 就是 ELK Stack,但是更加灵活,可以帮助人们出色完成各项事务。

3、ES 用来解决什么问题

3.1 ES 的核心价值

Elasticsearch 是解决海量数据全文检索的不二之选!

3.2 以下场景 ES 并非首选

  • 管理数据
  • 事务场景
  • 大单页查询
  • 数据实时写入或更新

3.3 选型

image.png

4、哪些场景应该使用 ES

4.1 为何要学习ES

image.png
Shay Banon said:Search is something that any application should have

4.2 应用场景广泛

众所周知!几乎没有一款软件是没有搜索功能的。而毫不客气的说,只要是用到搜索的场景,ES 几乎都可以说是最好的选择。

搜索引擎各大电商平台导航、打车、外卖软件音视频软件GithubELK日志系统站内搜索等image.png

5、特点

  • 基于 Java 语言开发
  • 基于 Lucene 框架
  • 仅支持 Json 的数据格式
  • 原生支持分布式
  • 支持 PB 级数据量
  • 跨语言
  • 高性能、高可用、易扩展
  • 开箱即用、上手简单
  • 潜力巨大、可开发性强
  • 开源、免费

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文件上传的学习

文件上传漏洞 文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。“文件上传”本身没有…

计算机二级 C程序设计(2020B场)全解

A选项:C语言中,一共有3种结构。分别是顺序结构、选择结构(else-if语句)、循环结构(for、while语句)。因此,C语言具有结构化特征。 B选项:不仅能解决简单问题,3种基本结构…

WPF MVVM如何在ViewModel直接操作控件对象

早些年在WPF中使用COM组件时,需要在ViewModel中操作COM组件中的控件对象,但是这个控件对象又不支持绑定, 后面的解决办法是在窗口加载时,将控件对象以参数传递到Loaded事件的处理命令中,然后将这个对象记录下来&#…

Ubuntu 18.04升级gclibc为2.28版本

一、查看系统支持的 GLIBC 版本号 ​strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC_出现以下,说明到2.27版本,没有2.28版本,所以我们需要手动安装 GLIBC_2.2.5 GLIBC_2.2.6 GLIBC_2.3 GLIBC_2.3.2 GLIBC_2.3.3 GLIBC_2.3.4 GLIBC_…

Docker入门笔记

Docker 文章目录 Docker1. 下载 (centos)2. 部署 MySQL3. 常用命令4. 数据卷5. 自定义镜像6. Java 项目部署 1. 下载 (centos) 卸载旧版 yum remove docker \docker-client \docker-client-latest \docker-common \docker-lates…

84、 k8s的pod基础+https-harbor

一、pod基础: pod进阶:探针(面试必问—扩缩容,挂载) 1.1、pod的定义 pod是k8s里面的最小单位,pod也是最小运行容器的资源对象。 容器时基于pod在k8s集群当中工作。 在k8s集群当中,一个pod就…

第二阶段:机器学习经典算法-02决策树与随机森林-1.决策树概述

该视频主要讲述了决策树与随机森林算法的基本概念和构造过程。决策树是一个树形结构,用于进行一系列的决策,可以用于分类和回归问题。随机森林算法是基于决策树的集成学习算法,通过构建多棵决策树并结合它们的预测结果来提高分类准确率。视频…

asp.net core web api项目添加自定义中间件

前言 在asp.net core web api项目中,默认提供了很多的中间件,比如访问静态文件中间件UseStaticFiles,跨域配置中间件UseCors,路由中间件UseRouting,身份验证中间件UseAuthentication。 那么如何添加一些自定义的中间件呢。 需求…

java SpringBoot 使用ijpay对接微信支付-商家转账到零钱

使用的maven版本:2.9.11 由于ijpay中提供的实体类没有设置回调参数的属性, 这里是自定义一个实体类:InitiateBatchTransferRequest代码如下: package com.foo.web.controller.pay.wxpay;import com.ijpay.wxpay.model.v3.TransferDetailInput…

【办公软件】Excel如何开n次方根

在文章:【分立元件】电阻的基础知识中我们学习电阻值、电阻值容差标注相关标准。知道了标准将电阻值标准数列化。因此电阻值并非1Ω、2Ω、3Ω那样的整数,而是2.2Ω、4.7Ω那样的小数。 这是因为电阻值以标准数(E系列)为准。系列的“E”是Exponent(指数)…

react vant 在使用dialog.confirm取消报错 Uncaught (in promise) undefined

项目场景: 在使用react做移动端开发时,需要使用Dialog.confirm确认框来做弹框选项,这是在操作中非常常用的一种场景。 问题描述 在列表中,使用弹框时,点击取消时,语法报错;导致后面再触发弹框…

【RabbitMQ之一:windows环境下安装RabbitMQ】

目录 一、下载并安装Erlang1、下载Erlang2、安装Erlang3、配置环境变量4、验证erlang是否安装成功 二、下载并安装RabbitMQ1、下载RabbitMQ2、安装RabbitMQ3、配置环境变量4、验证RabbitMQ是否安装成功5、启动RabbitMQ服务(安装后服务默认自启动) 三、安…

作业0903

1.封装栈 #include <iostream>using namespace std;class myStack { private:int size; // 大小int capacity;int *ptr;int top; // 栈顶下标 public:// 无参构造函数myStack():size(0), top(-1), capacity(10) {ptr new int[capacity];}// 有参构造函数myStack(in…

Linux Debian12使用flameshot或gnome-screenshot和ImageMagick垂直合并多张图片后组成一张滚动长图

在发布博客&#xff0c;有时需要滚动截长图&#xff0c;虽然在windows系统有滚动截长图的工具&#xff0c;例如&#xff1a;FastStone Capture等&#xff0c;但是Linux Debian系统&#xff0c;这种滚动截长图的工具没有找到合适的。经过自己筛选验证&#xff0c;发现Linux Debi…

基于Bert-base-chinese训练多分类文本模型(代码详解)

目录 一、简介 二、模型训练 三、模型推理 一、简介 BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;是基于深度学习在自然语言处理&#xff08;NLP&#xff09;领域近几年出现的、影响深远的创新模型之一。在BERT之前&#xff0c;已…

Allure报告下载不同格式的文件

支持类型&#xff1a; class AttachmentType(Enum):def __init__(self, mime_type, extension):self.mime_type mime_typeself.extension extensionTEXT ("text/plain", "txt")CSV ("text/csv", "csv")TSV ("text/tab-sep…

搭建 xxl-job 调度中心

文章目录 1、初始化“调度数据库”2、修改“调度中心”配置3、打包运行”调度中心“ 1、初始化“调度数据库” 请下载项目源码并解压&#xff0c;获取 “调度数据库初始化SQL脚本” 并执行即可。 “调度数据库初始化SQL脚本” 位置为&#xff1a;/xxl-job/doc/db/tables_xxl_j…

【Qt】QLCDNumber | QProgressBar | QCalendarWidget

文章目录 QLCDNumber —— 显示数字QLCDNumber 的属性QLCDNumber 的使用 QProgressBar —— 进度条QProgressBar 的属性创建一个进度条修改为 红色的进度条 QCalendarWidget —— 日历QCalendarWidget 的属性QCalendarWidget 的使用 QLCDNumber —— 显示数字 QLCDNumber 的属…

C++基础多态

目录 学习内容&#xff1a; 1. 多态 1.1 多态的实现 1.2 函数重写&#xff08;override&#xff09; 1.3 虚函数 1.4 使用多态实现的实例 1.5 虚函数的底层实现 1.6 重载&#xff08;voerload&#xff09;、重写&#xff08;override&#xff09;和隐藏&#xff08;h…

DeepWalk【图神经网络论文精读】笔记

链接: DeepWalk【图神经网络论文精读】_哔哩哔哩_bilibili [内容总结::] - deep walk 解决图嵌入问题&#xff1a;将结点压缩成低维向量随机游走&#xff08;类似NLP生成句子&#xff09; 优点与缺点: 相关学习资料 - word2vec 开山必读论文 - DeepWalk 论文阅读 - 代…