Elasticsearch学习笔记

2023-11-06

第1章 Elasticsearch概述

01-开篇 

  • 结构化数据,非结构化数据,半结构化数据含义

  • 结构化数据:结构化数据是按照预定义的模式和格式进行组织的数据。它通常以表格、关系数据库或者类似的数据存储形式存在,具有固定的字段和数据类型。结构化数据的特点是数据的组织结构明确,容易进行查询、分析和处理。常见的结构化数据包括电子表格数据、数据库记录等。

  • 非结构化数据:非结构化数据是指没有明确结构和格式的数据。它不适合使用传统的表格或数据库来存储和组织,通常以文本、图像、音频、视频等形式存在。非结构化数据的特点是数据的组织形式不规则,难以直接进行处理和分析。常见的非结构化数据包括电子邮件、社交媒体帖子、图像和视频文件等。

  • 半结构化数据是介于结构化数据和非结构化数据之间的一种数据类型。它具有一定的结构,但不像完全结构化数据那样严格遵循预定义的模式和格式。半结构化数据通常以文本文件、XML文档、JSON对象等形式存在,其中包含了一些标记或标签,用于标识数据的一部分。这些标记可以帮助解析和理解数据的含义,但并不限制数据的具体结构。半结构化数据的特点是灵活性和扩展性。它可以适应不同的数据模式和格式变化,而无需进行严格的数据模式定义。这使得半结构化数据在处理动态和变化的数据时具有优势,例如处理日志文件、社交媒体数据、传感器数据等。

  • 区别:

  • 数据组织形式:结构化数据按照预定义的模式和格式进行组织,而非结构化数据没有明确的结构和格式。
  • 数据处理方式:结构化数据容易进行查询、分析和处理,而非结构化数据处理起来相对困难。
  • 数据存储形式:结构化数据通常以表格、关系数据库等形式存储,而非结构化数据以文本、图像、音频、视频等形式存储。
  • 数据分析能力:结构化数据可以进行复杂的数据分析,而非结构化数据的分析能力相对有限。
  • 图解:

  • 结构化数据
  • 非结构化数据

 半结构化数据

 

B站参考视频-01

02-技术选型

  • Elasticsearch 是什么

  • Elasticsearch是一个开源的分布式搜索和分析引擎,它基于Apache Lucene库构建而成。它被设计用于处理大规模的实时数据,并提供快速、可靠的搜索和分析功能。
  • Elasticsearch采用分布式架构,可以在多个节点上存储和处理数据。它使用倒排索引技术来加快搜索速度,同时支持全文搜索、结构化搜索和地理位置搜索等多种搜索方式。Elasticsearch还提供了强大的聚合功能,可以对数据进行统计、分组和计算等操作。
  • 除了搜索功能,Elasticsearch还具备实时数据分析的能力。它可以对大规模数据进行复杂的数据分析和挖掘,支持各种类型的查询和聚合操作。同时,Elasticsearch还提供了可视化工具Kibana,用于展示和分析数据的可视化报表。
  • 由于其高性能、可扩展性和丰富的功能,Elasticsearch被广泛应用于各种场景,包括企业搜索、日志分析、安全分析、电子商务等领域。它的简单易用的API接口和丰富的生态系统,使得开发者可以快速构建强大的搜索和分析应用。

全文搜索引擎

全文搜索引擎是一种用于检索文本内容的工具或软件。它可以通过对文本进行索引和搜索,帮助用户快速找到所需的信息。

全文搜索引擎的工作原理是将文本内容分解为单词或词组,并构建索引以加快搜索速度。当用户输入关键词进行搜索时,搜索引擎会在索引中查找匹配的内容,并返回相关的结果。

全文搜索引擎的优点包括:

  • 快速检索:全文搜索引擎使用索引技术,可以快速定位到匹配的文本内容,提高搜索效率。

  • 精确匹配:全文搜索引擎可以根据用户输入的关键词进行精确匹配,找到最相关的结果。

  • 多种搜索方式:全文搜索引擎通常支持多种搜索方式,如全文搜索、模糊搜索、通配符搜索等,提供更灵活的搜索选项。

  • 支持多种数据类型:全文搜索引擎可以处理不同类型的文本内容,包括文档、网页、日志、电子邮件等。

  • 可扩展性:全文搜索引擎通常是分布式的,可以在多台服务器上进行部署,提供高可用性和扩展性。

全文搜索引擎的应用场景广泛,包括网页搜索、文档检索、日志分析、电子商务、社交媒体分析等。常见的全文搜索引擎包括Elasticsearch、Apache Solr、Lucene等。

一般传统数据库,全文检索都实现的很鸡肋,因为一般也没人用数据库存文本字段。进行全文检索需要扫描整个表,如果数据量大的话即使对 SQL 的语法优化,也收效甚微。建立了索引,但是维护起来也很麻烦,对于 insert 和 update 操作都会重新构建索引。基于以上原因可以分析得出,在一些生产环境中,使用常规的搜索方式,性能是非常差的:

  • 搜索的数据对象是大量的非结构化的文本数据。
  • 文件记录量达到数十万或数百万个甚至更多。
  • 支持大量基于交互式文本的查询。
  • 需求非常灵活的全文搜索查询。
  • 对高度相关的搜索结果的有特殊需求,但是没有可用的关系数据库可以满足。
  • 对不同记录类型、非文本数据操作或安全事务处理的需求相对较少的情况。为了解决结构化数据搜索和非结构化数据搜索性能问题,我们就需要专业,健壮,强大的全文搜索引擎 。

 03-教学大纲

  1. 第1章 Elasticsearch概述
  2. 第2章 Elasticsearch入门
  3. 第3章 Elasticsearch环境
  4. 第4章 Elasticsearch进阶
  5. 第5章 Elasticsearch集成
  6. 第6章 Elasticsearch优化
  7. 第7章 Elasticsearch面试题


 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Elasticsearch学习笔记 的相关文章

随机推荐

  • element-table中当点击row的时候背景色发生

    效果图 当点击行的时候 则背景添加颜色 再次点击则颜色去掉 1 在el table标签中添加 row click和row style事件 row click tableClick row style isActive tableClick
  • Pyinstaller PyQt5 QFontDatabase: Cannot find font directory

    在解决了上一篇的 no module named pyqt5 sip问题以后 这是打包以后的第二个问题 在ubuntu 执行源码的时候字体可以正常显示 python3 main py 但是通过pyinstaller打包以后就找不到字体了 大
  • 根据数字二进制下1的数目排序

    LeetCode 根据数字二进制下1的数目排序 给你一个整数数组 arr 请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序 如果存在多个数字二进制中 1 的数目相同 则必须将它们按照数值大小升序排列 请你返回排序后的数组 示例
  • 【Vivado使用误区与进阶】XDC约束技巧——时钟篇

    Xilinx 的新一代设计套件Vivado中引入了全新的约束文件XDC 在很多规则和技巧上都跟上一代产品ISE中支持的UCF大不相同 给使用者带来许多额外挑战 Xilinx工具专家告诉你 其实用好XDC很容易 只需掌握几点核心技巧 并且时刻
  • 第二十二讲:神州路由器OSPF单区域路由的配置

    实验拓扑图如下所示 设备 端口 IP 子网掩码 网关 Router A F0 0 172 16 1 1 255 255 255 0 无 F0 3 172 16 0 1 255 255 255 0 无 Router B F0 0 172 16
  • 【MySQL笔记】MySQL数据库分库分表解读

    目录 一 为什么要分库分表 1 IO瓶颈 2 CPU瓶颈 二 分库分表的拆分方法 1 垂直拆分 1 1 数据库垂直拆分 1 2表垂直拆分 根据业务去拆分表 如把user表拆分成user base表和user info表 use base负责
  • Android adb 输出指定app 错误日志

    查看错误日志 adb logcat E 按照时间查看日志 adb logcat v time
  • VMware16安装Linux CentOS7完整教程(附国内镜像链接)

    一 准备工作 1 安装VMware Workstation Pro 16 1 百度网盘下载地址 链接 https pan baidu com s 1jv0kQ26TLMt9MzofImRzgA pwd s0m1 提取码 s0m1 2 VMw
  • SLAM方法汇总

    原文 http blog csdn net smartxxyx article details 53068855 目录 SLAM概述 SLAM一般处理流程包括track和map两部分 所谓的track是用来估计相机的位姿 也叫front e
  • 在Windows远程桌面的不同会话之间,如何实现程序的互斥?

    问题 1 场景一 我是使用CreateMutex来实现限制只能运行程序的一个实例的 由于程序是放在服务器上运行 所以维护人员经常使用Windows的远程登录功能维护服务器 我发现在远程桌面不同会话之间 CreateMutex是不起作用的 即
  • Parallels desktop 安装 Centos7 root 默认密码

    parallels desktop下载的centos7 默认用户名是parallels 密码是需要设置的 软件没有自动设置 密码必须大于8位 并且无法进行su命令 提示 Authentication failure 这个问题产生的原因是由于
  • Xcode登录apple id 提示 This action could not be completed

    问题描述 打开xcode 运行工程时 xcode提示输入公司开发者账号密码 惊讶 之前没出现过的 按照要求输入密码 但又提示账号过期或密码可能被修改 但是网上登录苹果开发者 密码又是正常的 百度了下 把xcode偏好设置里面的过期账号 所有
  • 动态规划之二维数组系列——01背包,不同的子序列

    01背包问题 题目描述 小明有一个容量为 V 的背包 这天他去商场购物 商场一共有 N 件物品 第 i 件物品的体积为 wi 价值为 vi 小明想知道在购买的物品总体积不超过 V 的情况下所能获得的最大价值为多少 解题思路 现假设 V 为
  • 【深入理解C++】隐式构造与explicit

    文章目录 1 隐式构造 1 1 情况一 1 2 情况二 1 3 情况三 2 explicit 1 隐式构造 C 中存在隐式构造的现象 即在某些情况下 会隐式调用单参数的构造函数 1 1 情况一 include
  • Latex语法学习02:文本悬挂缩进

    目录 1 简单文本缩进案例 2 算法表格中的缩进案例 3 完整代码 1 简单文本缩进案例 解决方案 将要缩进的文本定义在minipage环境下 勾股定理 begin minipage t linewidth 直角三角形的直角边的平方求和等于
  • C# WinForm控件美化扩展系列之ListView(2)

    前面的一篇文章C WinForm控件美化扩展系列之ListView实现了隔行不同颜色和对列表头进行了美化 但遗憾的是对列表的最后的不包含列头的部分没有进行重绘 主要原因是上次没时间处理 因为处理那一部分是比较困难的 需要花不少时间 今天总算
  • Spark MLlib 源码学习---朴素贝叶斯模型(Naive Bayes)

    朴素贝叶斯是机器学习中比较常用的一种模型 尤其在文本分类的问题上是比较常用的baseline 朴素贝叶斯本身训练速度快 具有可并行化程度高 可解释性好的优点 但由于其对特征之间的独立性假设不是很符合某些需求场景 因此在实际的使用过程中往往需
  • MySQL运维篇之Mycat分片规则

    3 5 3 Mycat分片规则 3 5 3 1 范围分片 根据指定的字段及其配置的范围与数据节点的对应情况 来决定该数据属于哪一个分片 示例 可以通过修改autopartition long txt自定义分片范围 注意 范围分片针对于数字类
  • 宋浩概率论与数理统计-第一章-笔记

    概率论与数理统计 引言 1 1 1 随机事件 1 1 2 样本空间与事件的集合表示 1 1 3 事件间的关系 包含 并 和 交 积 差 互不相容事件 对立事件 完备事件组 运算律 事件的概率 1 2 1 概率的初等描述 1 2 2 古典概型
  • Elasticsearch学习笔记

    第1章 Elasticsearch概述 01 开篇 结构化数据 非结构化数据 半结构化数据含义 结构化数据 结构化数据是按照预定义的模式和格式进行组织的数据 它通常以表格 关系数据库或者类似的数据存储形式存在 具有固定的字段和数据类型 结构