ElasticSearch基本概念1-(索引文档)

一、文档

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

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

  • 文档会被序列化成JSON格式,保存在Elasticsearch中

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

  • 每个文档都有一个Unique ID

1、可以自己指定ID
2、或者通过Elasticsearch自动生成

  • 一篇文档包含了一系列字段,类似数据库表中的一条记录

1、JSON文档,格式灵活,不需要预先定义格式
2、字段的类型可以指定或者通过Elasticsearch自动推算
3、支持数组/支持嵌套

CSV转换成Elasticsearch数据
  • 文档的元数据,每一篇文档都有相应的元数据,见下图的元数据字段的含义
元数据

二、索引

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

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

  • 索引的MappingSettings

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

图2-1
  • 索引的不同语意

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

  • Type

在7.0之前,每个索引都可以设置多个Type的,每个Type底下拥有一些相同结构的文档,在6.0开始,Type已经被废除掉。
在7.0开始,每个索引当中只能创建一个Type - “_doc”

  • 关系型数据库 与 Elasticsearch 的对比
关系型数据库(比如Mysql) Elasticsearch
数据库Database 索引Index
表Table 类型Type
数据行Row 文档Document
数据列Column 字段Field
约束 Schema 映射Mapping
SQL DSL
  • 一些基本的API
# Index 相关 API
#查看索引相关信息
GET kibana_sample_data_ecommerce

#查看索引的文档总数
GET kibana_sample_data_ecommerce/_count

#查看前10条文档,了解文档格式
POST kibana_sample_data_ecommerce/_search
{
}

#_cat indices API
#查看indices
GET /_cat/indices/kibana*?v&s=index

#查看状态为绿的索引
GET /_cat/indices?v&health=green

#按照文档个数排序
GET /_cat/indices?v&s=docs.count:desc

#查看具体的字段
GET /_cat/indices/kibana*?pri&v&h=health,index,pri,rep,docs.count,mt

#How much memory is used per index?
GET /_cat/indices?v&h=i,tm&s=tm:desc

你可能感兴趣的:(ElasticSearch基本概念1-(索引文档))