一文了解Elasticsearch

数据分类

数据按数据结构分类主要有三种:结构化数据半结构化数据非结构化数据

结构化数据

结构化数据具有明确定义数据模型和格式的数据类型

图片

特点:

  • 数据具有固定的结构和模式。

  • 数据项明确定义数据类型和长度。

  • 适合用于数据查询、过滤和分析、存储。

半结构化数据

半结构化数据介于结构化和非结构化数据之间。它具有一定的结构信息,但没有结构化数据那么明确

图片

特点:

  • 数据元素包含在文档中,并且具有层次结构。

  • 使用标记或标签来标识数据元素。

  • 具有更大的灵活性,能够适应不同的数据模型。

非结构化数据

非结构化数据不具备明确结构的数据

图片

特点:

  • 数据没有明确的结构,不容易进行数据分析。

  • 数据可能包含大量的自由文本和非关联的信息。

  • 难以用传统数据库或查询语言来处理。

Elasticsearch简介

Elasticsearch(简称ES), 既是一个面向文档的 NoSQL 数据库,又是一个开源的高扩展的分布式全文检索引擎

图片

ES扩展性好,可以扩展到上百台服务器,处理起PB级数据时,能到秒级搜索,近乎实时搜索。

在开源全文检索领域,ES在DB-Engines搜索引擎类别长年霸榜!!!

图片

国内有很多大厂都在使用Elasticsearch,比如阿里巴巴、京东、腾讯、美团、头条、携程、滴滴等。

ES基于Java语言进行开发,以 Lucene 为基础建立的全文搜索引起,通过简单的 RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

「什么是Lucene?」
Lucene是一个开源的高性能的全文检索库,由Java语言开发,具有高效性、可伸缩性的特点。
Lucene 最初是由 Doug Cutting 创建,并于2001年成为 Apache软件基金会的一个子项目。
Lucene 能实现全文搜索主要是因为它实现了倒排索引的查询结构。

ES分词使用的是倒排索引。ES自带的分词器默认根据空格进行分词

图片

如果文章是中文的话,建议采用插件IK中文分词器实现中文内容的分词

Elasticsearch使用场景

  • 日志分析和监控:ES可以收集、存储和分析大量服务器日志数据,监控系统性能和查找故障。

  • 搜索引擎:ES可以构建高性能的搜索引擎,用于查询大量文档、网页和其他数据。

  • 商业智能和数据分析:ES可以用于处理和分析大量实时数据,以帮助企业做出更明智的决策。

  • 安全性分析:ES可以用于收集、存储和分析安全日志数据,帮助您检测安全事件和预防攻击。

  • 互联网中间件:ES可以作为互联网应用程序的中间件,用于处理大量动态

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ZOC8 for Mac:超越期待的终端仿真器

在Mac上,一个优秀的终端仿真器是每位开发者和系统管理员的必备工具。ZOC8,作为一款广受好评的终端仿真器,以其强大的功能和易用性,已经在Mac用户中积累了良好的口碑。本文将为您详细介绍ZOC8的各项特性,以及为什么它会…

MSQL系列(十二) Mysql实战-为什么索引要建立在被驱动表上

Mysql实战-为什么索引要建立在被驱动表上 前面我们讲解了BTree的索引结构,也详细讲解下 left Join的底层驱动表 选择原理,那么今天我们来看看到底如何用以及如何建立索引和索引优化 开始之前我们先提一个问题, 为什么索引要建立在被驱动表上…

【NI-DAQmx入门】传感器基础知识

1.什么是传感器? 传感器可将真实的现象(例如温度或压力)转换为可测量的电流和电压,因而对于数据采集应用必不可少。接下来我们将介绍您所需的测量类型及其对应的传感器类型。在开始之前,您还可以先了解一些传感器术语&…

uniapp 开发微信小程序 v-bind给子组件传递函数,该函数中的this不是父组件的二是子组件的this

解决办法:子组件通过缓存子组件this然后,用bind改写this 这个方法因为定义了全局变量that 那么该变量就只能用一次,不然会有赋值覆盖的情况。 要么就弃用v-bind传入函数,改为emit传入自定义事件 [uniapp] uview(1.x) 二次封装u-navbar 导致…

[MySQL]——SQL预编译、动态sql

键盘敲烂,年薪30万🌈 目录 一、SQL的预编译 📕一条SQL语句的执行过程 📕弊端 📕预编译SQL的优势 📕两种参数占位符 📕小结 二、动态SQL 📕概念介绍: &#x1f4…

ROS自学笔记二十: Gazebo里面仿真环境搭建

Gazebo 中创建仿真实现方式有两种:1直接添加内置组件创建仿真环境2: 手动绘制仿真环境 1.添加内置组件创建仿真环境 1.1启动 Gazebo 并添加组件 1.2保存仿真环境 添加完毕后,选择 file ---> Save World as 选择保存路径(功能包下: worlds 目录),文…

Docker:命令

Docker:命令 1. 创建MySQL的命令解读2. 基础命令3. 案例 查看DockerHub,拉取Nginx镜像,创建并运行Nginx容器4. 命令别名附录 1. 创建MySQL的命令解读 docker run :创建并运行一个容器,-d 是让容器在后台运行--name:给容器起一个名…

Java日志组件介绍之一

一、前言 前段时间爆出Log4j安全漏洞的事情,XX云因未及时报告漏洞被工信部暂停网络安全威胁和漏洞信息共享平台合作单位(https://www.cstis.cn/),话说Java的日志组件真是多而且也比较乱,后续几篇文章就聊一下各日志组…

【嵌入式】【GIT】如何迁移老的GIF到新的仓库时使用LFS功能并保持LOG不变

一、正常迁移流程 假设有仓库 ssh://old/buildroot-201902 需要迁移到新的仓库 ssh://old/buildroot-201902时,我们可以使用以下命令来完成: # 下载老的仓库 git clone ssh://old/buildroot-201902 # 向新的仓库上传所有的tags git push ssh://new/buildroot-201902 --tag…

【Linux】:Linux开发工具之Linux编辑器vim的使用

🔫1.Linux编辑器-vim使用 📤 vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以…

【ARMv8 SIMD和浮点指令编程】NEON 存储指令——如何将数据从寄存器存储到内存?

和加载指令一样,NEON 有一系列的存储指令。比如 ST1、ST2、ST3、ST4。 1 ST1 (multiple structures) 从一个、两个、三个或四个寄存器存储多个单元素结构。该指令将元素从一个、两个、三个或四个 SIMD&FP 寄存器存储到内存,无需交错。每个寄存器的每个元素都被存储。 …

Ansible自动化运维工具介绍与部属

Ansible自动化运维工具介绍与部属 一、ansible简介1.1、什么是Ansible1.2、Ansible的特点1.3、Ansible的架构 二、Ansible任务执行解析2.1、ansible任务执行模式2.2、ansible执行流程2.3、ansible命令执行过程 三、部署ansible管理集群3.1、实验环境3.2、安装ansible3.3、查看基…

MySQL数据库的存储引擎,底层存储结构,事物隔离级别,索引,日志等

存储引擎 存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表而不是基于库的,所以存储引擎也可以被称为表引擎。 默认存储引擎是InnoDB。 InnoDB 在 MySQL 5.5 之后,InnoDB 是默认的 MySQL 引擎。 1.支持事务 2.行级锁…

ElasticSearch 高级查询语法Query DSL实战

ES高级查询Query DSL ES中提供了一种强大的检索数据方式,这种检索方式称之为Query DSL(Domain Specified Language 领域专用语言) , Query DSL是利用Rest API传递JSON格式的请求体(RequestBody)数据与ES进行交互,这种方式的丰富查…

高阶数据结构图下篇

目录: 图的基本概念二深度优先遍历(DFS)广度优先遍历(BFS) kruskal(克鲁斯卡尔算法)Prim(普里姆算法)Dijkstra(迪杰斯特拉算法)Bellman-ford(贝尔曼-福特算法) flyod-war…

c语言练习(9周)

输入样例11输出样例7.0980 #include<stdio.h> int main() {int n, i;double s 1,a1;scanf("%d", &n);for (i 2; i < n; i) {a 1 / (1a);s a;}printf("%.4lf", s);return 0; } 题干输入10个整数&#xff0c;分别按输入正序、逆序显示。输…

工业数字化转型中的控制塔BI

工业数字化转型是当前工业领域的一个重要趋势&#xff0c;它通过应用先进的信息技术和数据分析方法&#xff0c;推动传统制造业向智能化、高效化、可持续发展的方向转变。在工业数字化转型中&#xff0c;控制塔BI&#xff08;Business Intelligence&#xff09;扮演着重要的角色…

【案例实战】NodeJS+Vue3+MySQL实现列表查询功能

这篇文章&#xff0c;给大家带来一个列表查询的功能&#xff0c;从前端到后端的一个综合案例实战。 采用vue3作为前端开发&#xff0c;nodejs作为后端开发。 首先我们先来看一下完成的页面效果。点击分页&#xff0c;可以切换到上一页、下一页。搜索框可以进行模糊查询。 后端…

什么是接口自动化测试?接口自动化测试的目的是什么?

1、什么是接口测试 接口测试是对系统或组件之间的接口的测试。主要用于检测外部系统与系统间以及内部各个子系统间的交互点。测试重点是检查数据交换、传递和控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系等。 2、接口测试的目的 1> 尽早介入软件测试流程&#…

如何选择最适合 Android 的 SD 卡恢复软件?

所需要的只是心不在焉地点击了错误的按钮、行为不当的应用程序、或者软件或硬件故障。就这样&#xff0c;您的照片消失了&#xff0c;您的笔记无处可寻&#xff0c;您的文件也消失了。 如何选择最适合 Android 的 SD 卡恢复软件 对别人最好的可能对你不起作用&#xff0c;这取…