首页 > 其他分享 >Elasticsearch介绍

Elasticsearch介绍

时间:2024-10-15 20:44:46浏览次数:5  
标签:词条 介绍 索引 文档 搜索 Elasticsearch ES

Elasticsearch 是一个分布式搜索和分析引擎,通常用于处理大规模的结构化和非结构化数据。它基于开源的 Lucene 库,提供了强大、实时的搜索能力和精细的分析功能。Elasticsearch 通常与其他工具(如 Logstash、Kibana 等)一起使用,构成了著名的 ELK Stack(后来改名为 Elastic Stack)。完整的技术栈包括:

  • Elasticsearch:用于数据存储、计算和搜索
  • Logstash/Beats:用于数据收集
  • Kibana:用于数据可视化

整套技术栈的核心就是用来存储搜索计算的Elasticsearc。

基础概念

文档:Elasticsearch 中最小的数据单元,类似于关系型数据库中的行。文档是以 JSON 格式存储的,包含一个或多个字段(key-value 对),每个字段可以有不同的数据类型。

索引: Elasticsearch 中存储、组织文档的地方,类似于传统关系型数据库的表。在 Elasticsearch 中,所有的数据都以 JSON 文档的形式存储在索引中。每个索引都有一个唯一的名字(类似数据库中的表名),这个名字用于引用和操作索引。

点击查看代码
#商品索引:组织文档的地方,每个{}是一个文档
{
    "id": 1,
    "title": "小米手机",
    "price": 3499
}

{
    "id": 2,
    "title": "华为手机",
    "price": 4999
}

{
    "id": 3,
    "title": "三星手机",
    "price": 3999
}

Type:每个文档都必须具备字段类型,7.0之前一个索引只能有一个或者多个类型,7.0开始一个索引只能创建一个 Type :_doc,8.0 之后,Type 被完全删除,解决了多 Type 索引带来的资源浪费、字段冲突、查询效率低下等问题。

Mapping:即映射,索引中文档的字段约束信息,类似表的结构约束。

Node:相当于一个 ES 实例,多个节点构成一个集群。

Cluster:多个 ES 节点的集合,用于解决单个节点无法处理的搜索需求和数据存储需求。

ES相关概念对比MySQL

工作原理

Elasticsearch 以其高性能的搜索和分析能力而闻名,主要得益于其底层的技术架构和索引机制。倒排索引是 Elasticsearch 的核心数据结构,它极大地提升了全文搜索的速度。它的工作原理可以类比为书的索引部分,快速定位某个词在文档中的位置。

  • 首先对文档内容进行分词,ES默认英文是一个单词一个词,中文是一个汉字一个词,形成词条与文档ID对应的词条库,建立索引。
  • 接着会对搜索内容进行分词,将分词后的关键词与词条库匹配,找到对应的文档ID,然后根据文档ID找到对应的文档信息。

在搜索时,用户输入某个词语,ES会直接在倒排索引中查找该词条,然后迅速定位到包含该词条的所有文档,相比与传统搜索方式需要扫描全部文档要高效的多。

标签:词条,介绍,索引,文档,搜索,Elasticsearch,ES
From: https://www.cnblogs.com/xlvlog/p/18468404

相关文章

  • Elasticsearch
    什么是ElasticsearchElasticsearch是一个基于ApacheLucene的分布式搜索和分析引擎。它提供了一个功能强大、实时的数据存储、检索和分析的平台,尤其适合处理结构化和非结构化数据。它在大数据处理、全文搜索****、实时日志分析、监控等场景下应用广泛。核心概念索引(Index):相......
  • Elasticsearch正向索引与倒排索引
    Elasticsearch正向索引与倒排索引一、正向索引首先,要明白什么是正向索引,所谓正向索引,就是在查找某项数据时,按照id一条一条查找,如果当前数据中包含所需数据,则将当前数据取出,不包含则抛弃,直至全部遍历结束。例如:当我们按照正向索引去寻找包含小米三星苹果的数据时,会从头遍历一遍,......
  • Elasticsearch相关概念对比MySQL
    MySQLElasticsearch说明TableIndex索引(index),就是文档的集合,类似数据库的表(table)RowDocument文档(Document),就是一条条的数据,类似数据库中的行(Row),文档都是JSON格式ColumnField字段(Field),就是JSON文档中的字段,类似数据库中的列(Column)SchemaMappingMappi......
  • Elasticsearch相关概念对比MySQL
    Elasticsearch和MySQL是两种不同的数据管理系统,各自有其独特的概念和应用场景。以下是它们在几个关键概念上的对比:o数据模型Elasticsearch:。文档(Document):基本的数据单元,存储为JSON格式。。索引(Index):类似于数据库,包含多个文档。。类型(Type):在7.x版本后已被弃用,之前用于逻......
  • Midjourney的指令规则是什么?Midjourney的命令介绍
    Midjourney的指令规则包括/imagine用于图像生成,/info查看账户信息,/ask提问,/help获取帮助,/fast和/relax调整速度,/stealth和/public设置隐私,/settings个性化设置,/blend融合图片,/preferoptionset和/prefersuffix自定义变量,以及使用::分隔关键词等高级技巧。这些指令助力用户高效创......
  • PWM的概念与原理详细介绍
    1.PWM简介脉冲宽度调制(PWM),是英文“PulseWidthModulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。PWM是通过编程控制输出方波的频率和占空比(高低电平的比例)。应用:测量,通信,功率控制与变换等各种领域(呼吸灯、电机)。2.PWM......
  • 1.网工入门篇--------网络硬件通讯媒介介绍
    双绞线数据传输功能双绞线是一种常见的网络通讯媒介,主要用于传输电信号形式的数据。它能够以不同的速率传输数据,例如在常见的以太网应用中,可以支持10Mbps、100Mbps、1000Mbps(即千兆以太网)甚至更高的传输速率。这种传输速率可以满足各种规模网络的数据传输需求,从简单的家庭网......
  • 2.网工入门篇--------OSI七层模型功能介绍
    应用层:功能:应用层是最高层,直接为应用程序提供服务,与用户的交互最为紧密。它负责处理网络通信的各种应用需求,比如文件传输、电子邮件的发送和接收、网页浏览等。应用层的程序可以根据用户的需求发起通信请求,并将数据传递给下一层进行处理。举例:常见的应用层协议有HTTP(用于......
  • Wildberries(野莓)俄罗斯知名电商平台介绍,卖家获取,获客经验大放送(插件版)
    Wildberries(野莓)是俄罗斯的一个知名电商平台,以下是对其的详细介绍:一、公司概况成立时间与地点:Wildberries成立于2004年,总部位于俄罗斯莫斯科。创始人:由正在休产假的教师TatianaBakalchuck(塔季扬娜·巴卡尔丘克)创立,她现已成为俄罗斯第一位白手起家的女性亿万富翁。二、......
  • 【Java】零基础学习2_Java背景、学习过程及应用介绍
    三、Java语言背景3.1Java与C/C++关系Java从C++继承声明变量、操作符形式、C++面向对象核心Java舍弃了C/C++中容易引起错误的地方;在后来引入了自己的特性可以看作类C语言发展和衍生产物3.2Java发展历程介绍隶属公司(都是美国公司)现在属于Oracle公司的,之前是属于SU......