(二)、Elasticsearch-基本单元

2023-10-11 09:37:10 浏览数 (3)

基本单元
  1. Index(索引):索引是一个包含一定类型数据的逻辑容器,类似于关系型数据库中的表。每个索引可以包含多个type,每个type包含了多个document。
  2. Type(类型):类型是一组具有相似特征的文档的集合,类似于关系型数据库中的表中的“类型”概念。在Elasticsearch 7.x版本中,已经弃用了type这个概念,将type的功能合并到了index中。
  3. Document(文档):文档是一个JSON格式的数据单元,代表了一个数据实例,也是所有可搜索数据的最小单位,例如一篇文章、一条新闻或一条订单等。文档必须属于一个index,并且可以包含零个或多个field。(相当于关系型数据库中的一条数据)
  4. Field(字段):字段是文档的属性或数据项,类似于关系型数据库中的列。每个字段都有一 个数据类型,例如文本、数字或日期等。在一个文档中,一个字段可以包含一个值,多个值或者没有值。

关系型数据库

Elasticsearch

Table

Index(Type)

Row

Document

Column

Filed

Schema

Mapping

SQL

DSL

DSL:表定义

文档字段类型

字符串、数值、布尔、日期、二进制、范围类型

类型

描述

Text

文本,用于存储文本数据,支持全文搜索和部分匹配搜索。

keyword

关键词,用于存储关键词数据,通常用于精确匹配和聚合操作。

Numberic

数值,用于存储数值数据,包括整数、浮点数等,支持范围查询和数值聚合操作。

Date

日期,用于存储日期和时间数据,支持日期范围查询和日期聚合操作。

Boolean

布尔,用于存储布尔值,支持精确匹配和过滤操作。

Object

对象,用于存储嵌套的复杂对象,可以包含多个子字段。

Nested

嵌套,用于存储嵌套的文档,支持独立查询和嵌套查询。

GeoPoint

地理点,用于存储地址位置坐标,支持地理查询和距离计算。

文档的id

每个文档都有一个Unique ID

  • 可以指定id
  • Elasticsearch自动生成
元数据

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

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

索引是文档的容器,是一类文档的结合。概念类似于Java中的类,那么与之对应MySQL的表。

  • index体现了逻辑空间的概念:每个索引都有自己的Mapping定义,用于定义包含的文档的字段名字和字段类型。
  • shard体现了物理空间的概念:索引中的数据分散在Shard上。
  • 索引的Mapping定义文档字段的类型
  • Setting定义不同的数据分布(使用多少分片、数据如何分布)
不同上下文、词性解释
  • 名词:一个Elasticsearch集群中,可以创建很多个不同的索引。
  • 动词:保存一个文档到Elasticsearch的过程也叫索引(indexing)。
  • 名词:一个B树索引,一个倒排索引。

0 人点赞