Elasticsearch

本文涉及的产品
Elasticsearch Serverless通用抵扣包,测试体验金 200元
简介: 1 基本概念1.1 索引索引是Elasticsearch存放数据的地方,可以看作是关系数据库中的一张表,相比于关系数据库,Elasticsearch可以快速、高效地对索引中的数据进行全文检索,并且不需要存储元原始数据。

1 基本概念

1.1 索引

  • 索引是Elasticsearch存放数据的地方,可以看作是关系数据库中的一张表,相比于关系数据库,Elasticsearch可以快速、高效地对索引中的数据进行全文检索,并且不需要存储元原始数据。
  • 索引是Elasticsearch中存储数据的一种逻辑结构。可以把它想象成数据库中包含行和列的表。行是索引中的一个文档,列示索引中的单个字段。Elasticsearch集群可以同时运行多个索引。除此之外,因为单个索引是由分片组成的,所以它可以分散到多个节点中。不仅如此,每个分片可以有一个完全相同的副本,用于调控搜索性能以及发生故障时的备份恢复。
  • 所有组成索引的分片实际上是被分解成多个类型的apache lucene索引。

1.2 文档

  • 文档是Elasticsearch中存储的主要实体。类比于关系数据库,Elasticsearch的每个文档相当于数据表中的一行数据。
  • 文档由字段(行数据的列)组成,Elasticsearch允许一个字段出现多次,该类字段被称为多值字段。每个字段对应一种类型。字段类型可以是负复合的,字段可以包含其它子文档和数组。

1.3 文档类型

  • 在Elasticsearch中,一个索引可以存储许多不同类型的对象。例如,基于Elasticsearch的博客可存储文章和评论。文档类型可以帮助我们轻松区分这些对象。

1.4 节点和集群

  • Elasticsearch可以作为一个独立的搜索服务区工作。然而,为了能够处理大型数据集并实现容错功能,Elasticsearch支持在多台协同工作的服务器上运行。这些服务器被统称为一个集群,集群的每个服务器则被称为一个节点(node)。可以通过索引分片(分割成更小的个体)将海量数据进行分割并分布到不同节点。通过副本(索引部分的拷贝)可以实现更强的可用性和更高的性能。

1.5 分片

  • 当需要存储大规模文档时,由于RAM空间、硬盘容量等的限制,仅使用一个节点时不够的。另一个问题是一个节点的计算能力达不到所期望的复杂功能的要求。在这种情况下,可以将数据切分,每部分是一个单独的apache lucene索引,称为分片。每个分片可以被存储在集群的不同节点上。当需要查询一个由多个分片构成的索引时,Elasticsearch将该查询发送到每个相关的分片,并将结果合并。这些过程对具体应用而言是透明的,无须知道分片的存在。

1.6 副本

  • 为了提高查询的吞吐量或实现高可用性,可以启用分片副本功能。副本分片是对原始分片的一个精确拷贝,原始分片被称为主分片。对索引的所有修改操作都直接作用在主分片上,每个主分片可以有零个或多个副本分片。当主分片丢失时,集群可以将一个副本分片提升为新的主分片。

 

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
SQL 关系型数据库 MySQL
131.【MySQL_基础篇】(二)
131.【MySQL_基础篇】
181 0
|
NoSQL Redis
redis 常用语法
redis 常用语法
184 0
|
存储 Python
python使用gevent库来创建协程,并通过协程实现并发执行不同的任务
```markdown 这段Python代码利用`gevent`库实现并发执行协程。定义了两个打印函数`f1`和`f2`,分别输出"csdn"和"yyds"。代码首先创建列表`t_l`,并启动5个`f1`协程,将其加入列表并等待所有协程完成。随后,同样方式启动5个`f2`协程,存入`t1_l`列表并等待执行完毕。整体展示了`gevent`的协程并发操作。 ```
145 1
|
数据格式
netty系列之:自定义编码解码器
netty系列之:自定义编码解码器
|
存储 索引 容器
如何在游戏中制作一个物品图鉴的功能?
这种功能能够满足玩家的收集欲望,就像我们小时候收集的画册,邮票,现在大家喜欢收集的手办,卡片等等。只要有这样的一个收集图鉴,你就总是会想把其中的所有物品全部集齐或者点亮。
541 0
|
机器学习/深度学习 传感器 算法
2023年第二十届五一数学建模竞赛 C题:“双碳”目标下低碳建筑研究参考思路及代码
2023年第二十届五一数学建模竞赛 C题:“双碳”目标下低碳建筑研究参考思路及代码
|
机器学习/深度学习 人工智能 数据可视化
AI:神经网络调参(数据、层数、batch大小,学习率+激活函数+正则化+分类/回归)并进行结果可视化
AI:神经网络调参(数据、层数、batch大小,学习率+激活函数+正则化+分类/回归)并进行结果可视化
|
Serverless Cloud Native 开发者
从函数计算架构看 Serverless 的演进与思考
作者 | 杨皓然  阿里巴巴高级技术专家 导读:云计算之所以能够成为 DT 时代颠覆性力量,是因为其本质是打破传统架构模式、降低成本并简化体系结构,用全新的思维更好的满足了用户需求。而无服务器计算(Serverless Computing)作为这个巨大市场的下一个阶段的进化产物,将真正帮助企业实现只专注于业务和构建应用程序,而不必担心 IT 基础设施,这也将成为云服务商未来竞争的关键。
|
专有云
全媒体时代的速度与激情:香港凤凰卫视云端转型实践
今年凤凰卫视已经部署完成阿里云专有云敏捷版OSS存储,通过和凤凰全媒体平台有效结合,生产效率提升50%,成本降低30%。阿里云专有云敏捷版(Alibaba Cloud Apsara Stack Agility)是面向中小型业务规模客户的企业级云平台,能够实现简易、快速、经济部署专有云的需求。
2525 0
「镁客早报」罗永浩回应锤子被酷派起诉事件,会妥善处理;NASA宣布对SpaceX和波音公司进行审查
贝索斯捐赠9750万美元,帮助无家可归的人工作;Snap预计推出新款AR眼镜,配备两个摄像头。
469 0