Elastic 基本概念 索引和文档

网友投稿 726 2022-09-27

Elastic 基本概念 索引和文档

Elastic 基本概念 索引和文档

索引 文档偏向于开发人员的视角,是一个逻辑上面的概念,节点和分片呢偏向运维人员的视觉,偏向是物理的概念

文档(Document)

Elasticsearch 是面向文档的,文档是所有可搜索数据的最小单位

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

文档会被序列化成 jsON格式,保存在 Elastlesearch 中

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

每个文档都有一个 Unique ID

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

你可以理解文档为关系型数据库里面的一条记录

JSON 文档

一篇文档包含了一系列的字段。类似数据库表中一列

JSON 文档,格式灵活,不需要预先定义格式

字段的类型可以指定或者通过Elasticsearch 自动推算支持数组/ 支持嵌套

从csv文件中读取到raw data是关于电影的,通过logstash进行转化之后进入es之后就是json的格式了。

Json的每个字段都有其数据类型,es可以根据其字段做一个数据类型的推算。

上面可以看到在es当中数据还是支持数组的,支持嵌套

文档的元数据

元数据,用于标注文档的相关信息

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

每篇文档都有其元数据,比如_index表示文档所属的索引名字

All字段在7.0已经被废除了,在早期版本

_version  代表文档在系统里面的版本,当有大量数据并发读写的时候,版本信息可以很好的帮你解决版本冲突的问题

在全文检索的时候,相关性非常重要,所以es根据结果的算分也就是_score在该文档查询当中的值

r

索引

Index-索引是文档的容器,是一类文档的结合

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

索引的 Mapping 与 Settings

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

简单做个理解就是索引当中的数据最后是被分配在shard分片上

在一个索引上面可以为其设置mapping和settings

Setting主要是可以去指定究竟要用多少分片,以及数据是如何分布的

索引的不同语意

名词∶一个Elasticsearch集群中,可以创建很多个不同的索引动词∶ 保存一个文档到Elasticserch的过程也叫索引(indexing)ES 中,创建一个倒排索引的过程名词∶一个B 树索引,一个倒排索引

倒排索引是搜索引擎当中一个非常重要的数据结构

抽象与类比

如果将关系型数据库和elastich做一个并不是非常恰当的类比,其实,当你谈到关系型数据库表的时候对应的就是es里面的索引。那么关系型数据库里面的每一条记录在es当中就是文档。关系型数据库里面的每个字段就是es当中文档的一个字段。Es当中的mapping就是关系型数据库当中schema中的表定义

Sql可以对关系型数据库进行查询的,在es当中也提供了DSL帮助你进行各种各样的查询

其实es和关系型数据库有各自的优缺点,当你要进行全文检索,对搜索结果进行算分的时候es会特别的合适。当你对数据事务性要求特别高的时候,那么需要将传统的关系型数据库和es结合使用

为了方便其他语言的整合,es提供了丰富的api来给其他程序进行调用,所以程序要和es进行集成的时候,只需要发出http的请求就会得到相应的结果

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Jenkins 插件安装的几种方式
下一篇:计算机网络 性能指标 非性能指标
相关文章

 发表评论

暂时没有评论,来抢沙发吧~