(1)ElasticSearch基本概念介绍

ElasticSearch系列一:ElasticSearch基本概念 es基础概念 阅读详情

一、文档和索引

1、文档(Document)
(1)ElasticSearch是面向文档的,文档是所有可能搜索数据的最小单位

  • 日志文件中的日志项
  • 一本电影的具体信息/一张唱片的详细信息
  • MP3播放器里的一首歌/一篇PDF文档中的具体内容

(2)文档会被序列化成JSON格式,保存在ElasticSearch中

  • JSON对象由字段组成
  • 每个字段都有相应的字段类型(字符串/数值/布尔/日期/二级制/范围类型)

(3)每个文档都有一个Unique ID

  • 你可以自己指定ID
  • 或者通过ElasticSearch自动生成

2、JSON文档
(1)一篇文档包含了一系列的字段。类似于数据库表中的一条记录。
(2)JSON文档,格式灵活,不需要预先定义格式。

  • 字段类型可以指定或者通过ElasticSearch自动推算
  • 支持数值/支持嵌套

以下就是cvs文件中的一条数据,把他存储在es中,如下格式
在这里插入图片描述
在这里插入图片描述
3、文档的元数据

  • _index:文档所属的索引名
  • _type:文档所属的类型名
  • _id:文档唯一id
  • _source:文档的原始JSON数据
  • _all:整合所有字段内容到该字段,已被废除
  • _version:文档的版本信息
  • _score:相关性打分

在这里插入图片描述

4、索引

(1)index:索引是文档的容器,是一类文档的结合

  • index体现了逻辑空间的概念:每个索引都有自己的Mapping定义,用于定义包含的文档的字段名和字段类型
  • Shard体现了物理空间的概念:索引中的数据分散在Shard上

(2)索引的Mapping与Setting

  • Mapping定义文档字段的类型
  • Setting定义不同的数据分布

在这里插入图片描述
(2)索引的不同语义

  • 名称:一个ElasticSearch集群中,可以创建很多不同的索引
  • 动词:保存一个文档到ElasticSearch的过程也叫做索引(indexing),es中,创建一个倒排索引的过程
  • 名词:一个B树索引,一个倒排索引
    在这里插入图片描述

5、Type
(1)在7.0之前,一个index可以设置多个types。每个Type的底下拥有一些相同结构的文档。
(2)6.0开始,Type已经被Deprecate。7.0开始,一个索引只能创建一个Type(_doc)。

6、抽象与类比
(1)传统关系型数据库和ElasticSearch的区别

  • ElasticSearch-Schemaless /相关性/高性能全文检索
  • RDMS-事务性/Join
    在这里插入图片描述

二、节点、集群、分片及副本

1、节点
(1)节点是一个ElasticSearch的实列

  • 本质就是一个Java进程
  • 一台机器可以运行多个ElasticSearch进程,但是生产环境一般建议一台机器上只运行一个ElasticSearch实列

(2)每个节点都有名字,通过配置文件配置,或者启动时候 -E node.name=node1指定
(3)每一个节点在启动之后,会分配一个UID,保存在data目录下

2、Master-eligible nodes和Master Node
(1)每个节点启动之后,默认就是一个Master eligible节点

  • 可以设置node.master:false禁止

(2)Master-eligible节点可以参加选主流程,成为Master节点
(3)当第一个节点启动的时候,它会将自己选举成Master节点
(4)每个节点都保存了集群的状态,只有Master节点才能修改集群的状态信息

  • 集群状态(Cluster State),维护了一个集群中必要的信息
  • 所有的节点信息
  • 所有的索引和其相关的Mapping与Setting信息
  • 分片的路由信息
  • 任意节点都能修改信息会导致数据的不一致性

3、Data Node和Coordinating Node
(1)Data Node可以保存数据的节点,叫做Data Node。负责保存分片的数据。在数据扩展上起到了至关重要的作用

(2)Coordinating Node

  • 负责接受Client的请求,将请求分发到合适的节点,最总把结果汇总到一起
  • 每一个节点默认都起到Coordinating Node的职责

4、其他节点类型
(1)Hot和Warm Node(冷热节点)

  • 不同硬件配置的Data Node,用来实现Hot和Warm架构,降低集群部署的成本

(2)Machine Learning Node

  • 负责跑机器学习的Job,用来做异常检测

(3)Tribe Node

  • (5.3开始使用Cross Cluster Search)Tribe Node连接到不同的ElasticSearch集群,并且支持将这些集群当作一个单独的集群处理。

4、配置节点类型
(1)开发环境一个节点可以承担多种角色
(2)生产环境中,应该设置单一的角色节点(dedicated node)
在这里插入图片描述

5、分片(Primary Shard和Replica Shard)
(1)主分片,用以解决数据水平扩展的问题。通过主分片,可以将数据分布到集群内的所有节点之上

  • 一个分片是一个运行的Lucene的实列

  • 主分片数在索引创建时指定,后续不允许修改,处分Reindex

  • (2)副本,用以解决数据高可用的问题。分片是主分片的拷贝

  • 副本分片数,可用动态调整

  • 增加副本数,还可以一定程度上提供服务的可用性(读取的吞吐)

(3)一个节点的集群中,blogs索引的分片分布情况

在这里插入图片描述
6、分片的设定
(1)对于生产环境中分片的设定,需要提前做好容量规划
(2)分片设置过小

  • 导致后续无法增加节点实现水平扩展
  • 单个分片的数据量太大,导致数据重新分配耗时
    (3)分片数设置过大,7.0开始,默认主分片设置从5变成了1,解决了over-sharding的问题
  • 影响搜索结果的相关性打分,影响统计结果的准确性
  • 每个节点过多的分片,会导致资源浪费,同时也会影响性能

7、查看集群的健康状况
(1)Green:主分片与副本都正常分配
(2)Yellow:主分片全部正常分配,有副本分片未能正常分配
(3)Red:有主分片未能分配

  • 例如,当服务器的磁盘容量超过85%时,去创建了一个新索引
    在这里插入图片描述
Elasticsearch搜索引擎 本篇博客系统地介绍了Elasticsearch 7.14.0在windows环境下安装、基本使用、Springboot集成Elasticsearch以及ELK搭建。 阅读详情

相关推荐

分布式搜索引擎之elasticsearch基本使用1

什么是elasticsearch?一个开源的分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能什么是elastic stack(ELK)?是以elasticsearch为核心的技术栈,包括beats、Logstash、kibana、elasticsearch什么是Lucene?是Apache的开源搜索引擎类库,提供了搜索引擎的核心API分词器的作用是什么?创建倒排索引时对文档分词用户搜索时,对输入的内容分词IK分词器有几种模式?ik_smart:智能切分,粗粒度。

weixin_43956070的博客 1273

Elasticsearch入门篇(一、基本概念)

注意:所有es入门篇博客都是根据es官网6.2版本的文档翻译而来有一些概念是Elasticsearch的核心。从一开始就理解这些概念将极大地帮助简化学习过程。近实时(NRT)Elasticsearch是一个接近实时的搜索平台。这意味着从索引文档的时间到可搜索的时间之间存在轻微的延迟(通常为一秒)。集群(cluster)群集是一个或多个节点(服务器)的集合,它们一起保存整个数据,并提供跨所有节点的联...

IT-HotBoy的博客 4013

STM32通过ESP8266连接机智云APP(第二讲,烧录固件并测试)

今天与大家分享STM32通过ESP8266连接机智云APP,并完成数据的上传下发第二讲。带大家一起烧录机智云固件到ESP8266并且将其通过机智云串口助手与APP进行测试。

qq_63267523的博客 1425

头歌Elasticsearch 基本用法答案

pretty' -d '{"title": "三国演义","name" : {"first" : "贯中","last" : "罗"},"publish_date":"2015-03-06","price":"52.99"}'pretty' -d '{"title": "水浒传","name" : {"first" : "耐庵","last" : "施"},"publish_date":"2015-03-06","price":"52.99"}'# 请在此处编写命令。# 请在此处编写命令。

maxiangdongkk的博客 6082

用例设计:滴滴打车从轿车到完成支付如何测?

滴滴打车全流程测试用例设计从业务场景覆盖、功能逻辑分解、异常流验证三个维度展开,系统化地构建了测试方案。首先,业务流主干场景被分解为叫车、行程中、支付结算三个阶段,每个阶段都设计了核心测试用例,包括正向和异常用例,如定位准确性、车型选择逻辑、路径偏移监控、费用实时计算、多支付方式兼容等。专项测试补充了状态机验证、资损防控测试和性能测试,确保系统在不同情况下的稳定性和安全性。测试数据策略采用等价类划分设计,实战技巧包括流量回放技术、混沌工程注入和计费沙盒验证,以提高测试的覆盖率和准确性。最终输出交付物包括流程

海姐软件测试的博客 1524

新手如何学习车载底层嵌入式软件开发(AutoSar)

汽车嵌入式开发

ACarSoft的博客 4222

(1)elasticsearch 基本概念

集群(Cluster) 集群是一个或者是多个 结点的集合,容纳所有数据并提供索引搜索的能力。每个集群有一个唯一的标识(默认的标识是 elasticsearch )。这个名称很重要,因为结点只能通过集群名称加入集群,确保不在不同环境使用相同的集群名称,以防结点误加入集群。 结点 结点是作为集群组成部分额单台服务器。存储数据并参与索引搜索。类似于集群,每个结点都有一个名称标识。默认的,在启动的时...

Enjolras_fuu的博客 419

STM32 HAL 模拟I2C从机实战:软件实现与多设备通信优化

本文详细介绍了STM32 HAL库下软件模拟I2C从机的实现方法,包括GPIO开漏配置、基础信号实现、数据收发函数编写和多设备通信优化策略。通过灵活的软件模拟方案,解决了硬件I2C接口数量限制和稳定性问题,为多传感器数据采集等应用提供了可靠的通信保障。

motor的博客 921

ElasticSearch基本概念

1、核心概念 索引index:数据库 doc_type:table mapping:db_schema(有点类似于表的定义) primary shard(主分片) replica shard(副分片) 2、数据组织 2.1 逻辑组织 Elasticsearch同样具有这样的概念,如下图所示,使用index和doc_type来组织数据。doc_type中的每条数据称为一个document,是一个JSON Object,相关的schema信息通过mapping来定义。mapping不仅仅包括数据类型的定义

Yisnow.的博客 2232

使用Docker搭建SearXNG搜索引擎

【代码】使用Docker搭建SearXNG搜索引擎。

janthinasnail的博客 1171

LCD、LED、OLED、Mini LED、Micro LED、全阵列LED、QLED、QD-OLED、QNED、AMOLED是什么意思?

LCD(液晶显示器,Liquid Crystal Display)定义:LCD 是一种利用液晶材料控制光线通过的显示技术,需依靠背光源(如冷阴极荧光灯 CCFL 或 LED)照亮液晶层以形成图像。技术原理:液晶分子在电场作用下改变排列,控制背光通过的强度和颜色。液晶本身不发光,需外部光源。特点:结构包括背光层、液晶层、彩色滤光片和偏光片。响应时间较慢,黑色表现因背光漏光而偏灰。LED(发光二极管显示,Light Emitting Diode)定义。

中国最威武的城市!武功军威-武威,铁骨铮铮! 3429

Elasticsearch (1):ES基本概念和原理简单介绍

Elasticsearch(简称 ES)是一款基于 Apache Lucene 的分布式搜索和分析引擎。随着业务的发展,系统中的数据量不断增长,传统的关系型数据库在处理大量模糊查询时效率低下。因此,ES 作为一种高效、灵活和可扩展的全文检索解决方案,逐渐成为了企业的首选。本篇博客将深入探讨 Elasticsearch 的核心概念、使用方法以及优化技巧。

weixin_53216033的博客 1601

人工智能 (Artificial Intelligence, AI) 原理与代码实例讲解

人工智能 (AI) 机器学习 (Machine Learning) 深度学习 (Deep Learning) 算法 模型 代码实例 应用场景 1. 背景介绍 人工智能 (Artificial Intelligence, AI) 作为一项前沿科技,近年来发展迅速,已渗透到生活的方方面面

AI架构师小马 1230

ES基本概念和原理简单介绍(1)

es

weixin_42408447的博客 1514

Cadence画PCB的傻瓜式教程

1.原理图1)建立元件库2)建立原理图3)在原理图中画好电路图4)利用MENTOR-GRAPHICS-IPC-7351-LP-VIEWER查看元件的封装信息,用pad designer画焊盘,用pcb editor画元件的封装(对照LP_VIEWER),(也可以使用package wizard)5)在原理图中为元件添加封装信息(键入)6)Drc检查7)生成网表2.Pcb1)设置...

tianpu2320959696的博客 1万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

1.ElasticSearch介绍及基本概念

一、ElasticSearch介绍 一个采用RESTful API标准的高扩展性的和高可用性的实时性分析的全文搜索工具 基于Lucene[开源的搜索引擎框架]构建 ElasticSearch是一个面向文档类型的数据库 es为非关系型数据,存储非结构化的数据 二、ElasticSearch概念 1.节点(node): 一个装有es的服务并且提供故障转移和扩展的服务器, 单独一个es服务可以存储...

weixin_30404405的博客 111

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【1-ElasticSearch的基本介绍与用途、ElasticSearch中一些基本的概念、倒排索引的基本概念】

【1-ElasticSearch的基本介绍与用途、ElasticSearch中一些基本的概念、倒排索引的基本概念】ES 是一个开源的高扩展的分布式全文搜索引擎,是整个Elastic Stack技术栈的核心。它可以近乎实时的存储,检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。ElasticSearch的底层是开源库Lucene,但是你没办法直接用Lucene,必须自己写代码去调用它的接口,Elastic是Lucene的封装,提供了REST API的操作接口,开箱即用。天然的跨平台。

Coder_ljw的博客 933

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Elasticsearch8+使用(1):介绍、安装、原理、基本概念

Elaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

游王子og的博客 1087

es java opts配置优化,ElasticSearch的部署、同步与调优

ElasticSearch是一个强大的搜索服务器,基于Apache Lucene的全文搜索引擎开发,具有高性能、分布式和零配置的优点。在当前的项目中,我们希望ES能承担亿级文档的搜索,而ES也证明了即便面对这样的数据规模,也能实现十分迅速的搜索响应。概念节点(Node):节点是一个ES的实例,一般一台主机上部署一个节点-集群(Cluster):集群由若干节点组成,和任意节点的通信等价于和集群的通信...

weixin_42429109的博客 2699

ElasticSearch5.1 基本概念和配置

ElasticSearch5.1 基本概念和配置

weixin_38409915的博客 988

ES Format 介紹

VIDEO ES FORMAT

thomasyuan8的专栏 2011

Elasticsearch基本概念

本文主要是对ES基本概念进行整合,理论先行,夯实对ES的基本概念,在知道“是什么”,才能提高学习效率,保姆级学习教程请移步: ES入门笔记. 一、前文介绍 Elasticsearch(简称ES)是一个基于Apache Lucene™的开源搜索引擎,无论在开源还是专有领域,Lucene 可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。注意,Lucene 只是一个库。想要发挥其强大的作用,你需使用 Java 并要将其集成到你的应用中。 Lucene 非常复杂,你需要深入的了解检索相关知识来理解它

chwensrong的博客 4万+

ES(一):ES基本概念和原理简单介绍

Elasticsearch概述: ES是基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全问搜索引擎,且ES支持RestFulweb风格的url访问。ES是基于Java开发的开源搜索引擎,设计用于云计算,能够达到实时搜索,稳定、可靠、快速。此外,ES还提供了数据聚合分析功能,但在数据分析方面,es的时效性不是很理想,在企业应用中一般还是用于搜索。ES自2016年起已经超过Solr等,...

zhoushimiao1990的博客 3万+

详解最热门搜索引擎——ES

一、产生背景 ​ 互联网发展早期的时候,对于一般的公司储存的数据量不是那么的大,所以很多公司更倾向于使用数据库去存储和查询数据,如:现在去MySQL中查询数据,大概的查询方式就是:select * from table where filed like “%XXX%”或者其他方式,但是,如果我们在查询的时候没有用到或命中数据库建立的索引话,则会扫描整张表,即便是MySQL做过单表查询能力优化,但是他的极限也只在400万左右,且还会经常出现超时现象,让后为了解决这些问题,。很多公司就开始对数据库进

会编程的小郑 1万+

ES 分布式搜索引擎【一】

分布式搜索引擎,elasticsearch、kibana、IK分词器的安装与使用。

m0_52861684的博客 1716

ElasticSearch搜索引擎介绍

搜索在现代日常生活场景中都非常常见,如百度、京东、天猫等等。数据量都是庞大的,所以直接基于数据库搜索必定不是他们的首选,在这些场景下,要完成数据的高效搜索,都会基于搜索引擎实现。而对于搜索实现来说,市面上常见三种技术:Lucene、Solr、ElasticSearch。Lucene严格意义来讲,并不能称为搜索引擎,其本身是一套类库,需要开发人员根据其内部API完成具体功能实现。而Solr和ElasticSearch都是基于Lucene进行了封装,他俩可以称为搜索引擎。

su3su3su3的博客 1730
上一篇: synchronized的锁升级过程和详细的代码演示
下一篇: (2)ElasticSearch文档的基本操作与分词
suixinghero
博客等级 码龄7年 10粉丝 58原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值