ES入门知识点总结

news2024/11/25 14:28:57

目录

倒排索引


倒排索引

Elasticsearch的倒排索引是一种数据结构,用于加快基于文本的搜索操作。它的主要优势在于能够快速找到包含特定单词的文档。

倒排索引的构建过程如下:

  1. 文档分词:将文档内容分割成单独的词(或者更小的词元,如果是中文的话是分词)。

  2. 创建词典:创建一个包含所有不重复词的列表,也称为词典。

  3. 创建排序列表:对于词典中的每个词,创建一个排序列表,列出所有包含该词的文档ID。

倒排索引的理解可以通过以下例子来说明:

假设我们有两个文档,每个文档的内容如下:

文档1: "The quick brown fox jumped over the lazy dog."

文档2: "Quick brown foxes leap over lazy dogs in summer."

我们将这些文档发送给Elasticsearch进行索引,它将创建一个倒排索引,如下所示:

词典(terms):

  • Term      Doc_1  Doc_2
    -------------------------
    Quick   |       |  X
    The     |   X   |
    brown   |   X   |  X
    dog     |   X   |
    dogs    |       |  X
    fox     |   X   |
    foxes   |       |  X
    in      |       |  X
    jumped  |   X   |
    lazy    |   X   |  X
    leap    |       |  X
    over    |   X   |  X
    quick   |   X   |
    summer  |       |  X
    the     |   X   |
    ------------------------

排序列表(postings list):

Term      Doc_1  Doc_2
-------------------------
brown   |   X   |  X
dog     |   X   |  X
fox     |   X   |  X
in      |       |  X
jump    |   X   |  X
lazy    |   X   |  X
over    |   X   |  X
quick   |   X   |  X
summer  |       |  X
the     |   X   |  X
------------------------

排序列表(倒排列表)通常包含以下信息:

  • 文档ID:包含词的文档的唯一标识符。

  • 词频(TF):文档中词出现的次数。

  • 位置(Position):词在文档中的位置信息。

  • 偏移量(Offset):词在文档中的开始和结束位置。

现在,如果我们想搜索 quick brown ,我们只需要查找包含每个词条的文档:

Term      Doc_1  Doc_2
-------------------------
brown   |   X   |  X
quick   |   X   |
------------------------
Total   |   2   |  1

两个文档都匹配,但是第一个文档比第二个匹配度更高。

这就是Elasticsearch倒排索引的基本概念。

分片与副本机制

Elasticsearch 的分片和副本机制是确保集群高可用性和数据安全性的关键。

分片(Shard):

分片是Elasticsearch在集群中分发数据的方式。将大量数据分散到多个分片中,可以提高搜索和其他操作的性能。

副本(Replica):

副本是分片的副本,用于提供高可用性。当主分片(Leader)不可用时,副本分片(Follower)可以被提升为新的主分片。

创建索引时,可以定义分片数和副本数。例如,使用Elasticsearch的REST API创建一个有3个主分片和每个分片有一个副本的索引:

PUT /my_index
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 1
  }
}

R0、R1、R2为P0、P1、P2的备份副本。

ElasticSearch各版本特性

5.x新特性

  • Lucene 6.x, 性能提升,默认打分机制从TF-IDF改为BM 25
  • 支持Ingest节点/ Painless Scripting / Completion suggested支持/原生的Java REST客户端Type标记成deprecated, 支持了Keyword的类型
  • 性能优化
  1. 内部引擎移除了避免同一文档并发更新的竞争锁,带来15% - 20%的性能提升
  2. Instant aggregation,支持分片,上聚合的缓存
  3. 新增了Profile API

6.x新特性

  • Lucene 7.x
  • 新功能
  1. 跨集群复制(CCR)
  2. 索引生命周期管理
  3. SQL的支持
  • 更友好的的升级及数据迁移
  1. 在主要版本之间的迁移更为简化,体验升级
  2. 全新的基于操作的数据复制框架,可加快恢复数据
  • 性能优化
  1. 有效存储稀疏字段的新方法,降低了存储成本
  2. 在索引时进行排序,可加快排序的查询性能

7.x新特性

  • Lucene 8.0
  • 重大改进-正式废除单个索引下多Type的支持
  • 7.1开始,Security 功能免费使用
  • ECK - Elasticseach Operator on Kubernetes
  • 新功能
  1. New Cluster coordination
  2. Feature——Complete High Level REST Client
  3. Script Score Query
  • 性能优化
  1. 默认的Primary Shard数从5改为1,避免Over Sharding
  2. 性能优化, 更快的Top K

8.x新特性

  • Rest API相比较7.x而言做了比较大的改动(比如彻底删除_type
  • 默认开启安全配置
  • 存储空间优化:对倒排文件使用新的编码集,对于keywordmatch_only_texttext类型字段有效,有3.5%的空间优化提升,对于新建索引和segment自动生效。
  • 优化geo_pointgeo_shape类型的索引(写入)效率:15%的提升。
  • 技术预览版KNN API发布,(K邻近算法),跟推荐系统、自然语言排名相关。
https://www.elastic.co/guide/en/elastic­stack/current/elasticsearch­breaking
changes.html

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

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

相关文章

Qlik Sense : 条形图

条形图 “条形图适合比较多个值。维度轴显示所比较的类别条目,度量轴显示每个类别条目的值。” Qlik Sense中的条形图是一种数据可视化工具,用于展示不同类别或维度之间的比较。它通过水平或垂直的条形表示数据,并根据数值的大小进行排序。…

HCIA-HarmonyOS设备开发认证V2.0-轻量系统内核基础-信号量semaphore

目录 一、信号量基本概念二、信号量运行机制三、信号量开发流程四、信号量接口五、代码分析(待续...)坚持就有收获 一、信号量基本概念 信号量(Semaphore)是一种实现任务间通信的机制,可以实现任务间同步或共享资源的…

css3实现炫彩字体

这个字体颜色是动态变化的&#xff0c;直接上代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title&…

嵌入式——Flash(W25Q64)

目录 一、初识W25Q64 1. 基本认识 2. 引脚介绍 ​编辑 二、W25Q64特性 1. SPI模式 2. 双输出SPI方式 三、状态寄存器 1. BUSY位 2. WEL位 3. BP2、BP1、 BP0位 4. TB位 5. 保留位 6. SRP位 四、常用操作指令 1. 写使能指令&#xff08;06h&#xff09; 2. 写禁…

2.16数据结构与算法学习日记(模拟,搜索)

目录 洛谷P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布 题目背景 题目描述 输入格式 输出格式 输入输出样例 说明/提示 题目分析 代码示例 洛谷2080增进感情 题目背景 题目描述 输入格式 输出格式 输入输出样例 说明/提示 数据范围与约定 题目分析 代码示…

建筑工程如何找答案? #职场发展#笔记#职场发展

这些软件以其强大的搜索引擎和智能化的算法&#xff0c;为广大大学生提供了便捷、高效的解题方式。下面&#xff0c;让我们一起来了解几款备受大学生欢迎的搜题软件吧&#xff01; 1.易解题 这是一个网站 是我在百度搜题&#xff0c;经常会出现的一个网站&#xff0c;它里面…

P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G题解

题目 在一个果园里&#xff0c;多多已经将所有的果子打了下来&#xff0c;而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。 每一次合并&#xff0c;多多可以把两堆果子合并到一起&#xff0c;消耗的体力等于两堆果子的重量之和。可以看出&#xff0c;所…

CMake进行C/C++与汇编混合编程

1. 前提 这篇文章记录一下怎么用CMake进行项目管理, 并用C/C和汇编进行混合编程, 为了使用这项技术, 必须在VS的环境中安装好cmake组件 由于大部分人不会使用C/C与汇编进行混合编程的情况。所以这篇文章并不适用于绝大部分人不会对其中具体细节进行过多叙述。只是做一些简单的…

数值类型的运算方式总结

提纲1&#xff1a;常见的位运算使用场景 提纲2&#xff1a;整数类型运算时的类型溢出问题&#xff0c;产生原因以及解决办法 提纲3&#xff1a;浮点类型运算时的精度丢失问题&#xff0c;产生原因以及解决办法 数值类型&#xff08;6种&#xff09;分为&#xff1a; 整型&…

跟着pink老师前端入门教程-day27

三、变量 &#xff08;一&#xff09;变量概述 1、什么是变量 白话&#xff1a;变量就是一个装东西的盒子 通俗&#xff1a;变量是用于存放数据的容器&#xff0c;通过变量名获取数据&#xff0c;甚至数据可以修改 2、变量在内存中的存储 本质&#xff1a;变量是程序在内存…

Springboot+vue的大学生智能消费记账系统的设计与实现(有报告)。Javaee项目,springboot vue前后端分离项目

演示视频&#xff1a; Springbootvue的大学生智能消费记账系统的设计与实现&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的大学生智能消费记账系统的设计与实现&#xff0c;采…

165基于matlab的各类滤波器

基于matlab的各类滤波器。汉宁窗设计Ⅰ型数字高通滤波器、切比雪夫一致逼近法设计FIR数字低通滤波器、模拟Butterworth滤波器设计数字低通滤波器、频域抽样法的FIR数字带阻滤波器设计、频域抽样法的FIR数字带通滤波器设计、汉宁窗的FIR数字高通滤波器设计、双线性法设计巴特沃斯…

在python中JSON数据格式的使用

什么是JSON&#xff1f; JSON是一种数据格式&#xff0c;由美国程序设计师DouglasCrockford创建的&#xff0c;JSON全名是JavaScript Object Notation,由JSON英文全文字义我们可以推敲JSON的缘由&#xff0c;最初是为JavaScript开发的。这种数据格式由于简单好用被大量应用在We…

阿里云香港服务器多少钱一年?288元

阿里云香港服务器2核1G、30M带宽、40GB ESSD系统盘优惠价格24元/月&#xff0c;288元一年&#xff0c;每月流量1024GB&#xff0c;多配置可选&#xff0c;官方优惠活动入口 https://t.aliyun.com/U/bLynLC 阿里云服务器网aliyunfuwuqi.com分享阿里云香港服务器优惠活动、详细配…

.netcore音乐播放器 musicPlayer

html音乐播放器 .net core mvc 音乐播放器 支持上传本地音乐到云端 支持通过文件夹创建歌单(不需要数据库和其他数据存储) 通过歌单分类 播放歌曲 支持播放暂停 上一首 下一首切换 支持显示歌曲列表 歌单切换 展示歌曲根据歌单名去获取歌曲显示 功能 版权原因 或者想创建自己的…

拿捏c语言指针(上)

目录 前言 ​编辑 指针 内存与地址 计算机常见单位 理解编址 取地址&#xff0c;指针变量&#xff0c;解引用 取地址 指针变量 解引用 指针变量大小 指针类型的作用 char*解引用后 指针-整数 应用 void*指针 const修饰指针变量 const修饰普通变量 const修饰指…

就是民族的气节

我们拥有一个名字叫中国 - 张明敏 一把黄土塑成千万个你我 静脉是长城 动脉是黄河五千年的文化是生生不息的脉搏&#xff08;齐楚燕韩赵魏秦&#xff09;提醒你 提醒我我们拥有个名字叫中国&#xff08;中原地区为主体&#xff0c;河南&#xff0c;山东&#xff0c;安徽&…

OLMo 以促进语言模型科学之名 —— OLMo Accelerating the Science of Language Models —— 全文翻译

OLMo: Accelerating the Science of Language Models OLMo 以促进语言模型科学之名 摘要 语言模型在自然语言处理的研究中和商业产品中已经变得无所不在。因为其商业上的重要性激增&#xff0c;所以&#xff0c;其中最强大的模型已经闭源&#xff0c;控制在专有接口之中&#…

跨部门协作,是持续绩效管理最有效的手段

跨部门协作是企业管理痛点 一项调查结果显示&#xff0c;企业中普通员工与中层管理者之间&#xff0c;花费在内部沟通上的时间&#xff0c;大约占其工作时间的40%-50%&#xff0c;对于更高层的主管来说这一比例则会更高。 有些工作在部门内沟通完全没问题&#xff0c;但是跨部…

SQL的1999语法

目录 交叉连接 实现交叉连接 自然连接 实现自然连接&#xff08;实际上就是内连接&#xff09; ON和USING 使用自然连接时要求两张表的字段名称相同&#xff0c;但是如果不相同或者两张表中有两组字段是重名,这时就要利用 ON 子句指定关联条件&#xff0c;利用 USING 子句…