基本概念:索引、文档和REST Api
-
ElasticSearch是面向文档的,文档是所有可搜索数据的最小单位
- 日志文件中的日志项
- 一本电影的具体信息 / 一张唱片的详细信息
- Mp3播放器的一首歌 / 一篇PDF文档中的具体内容
-
文档会被序列化成Josn格式,保存在ElasticSearch中
- Json对象由字段组成
- 每个字段都有对应的字段类型(字符串/数值/布尔/日期/二进制/范围类型)
-
每个文档都有一个UniqueID
- 你可以自己指定ID
- 或者通过ElasticSearch自动生成
Json文档
- 一篇文档包含了一系列的字段
- Json文档,格式灵活,不需要预先定义格式
- 字段的类型可以指定或通过ElasticSearch自动推算
- 支持数组、支持嵌套
文档的元数据
{
"_index" : ".kibana_1",
"_type" : "_doc",
"_id" : "space:default",
"_score" : 1.0,
"_source" : {
"space" : {
"name" : "默认值",
"description" : "这是您的默认空间!",
"color" : "#00bfb3",
"_reserved" : true
},
"type" : "space",
"references" : [ ],
"updated_at" : "2022-05-13T09:16:16.465Z"
}
}
- 元数据,用于标注文档的相关信息
- _index : 文档所属的索引名
- _type : 文档所属的类型名
- _id : 文档唯一ID
- _source : 文档的原始Json数据
- _version : 文档的版本信息
- _score : 相关性打分
索引
- index :索引是文档的容器,是一类文档的结合
- index体现了逻辑空间的概念,每个索引都有自己的Mapping定义,用于定义包含的文档的字段名和字段类型
- Shard 体现了物理空间的概念,索引中的数据分散在Shard上
- 索引的Mapping与Settings
- Mapping定义文档的字段类型
- Setting定义不同的数据分布
#查看索引相关信息
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