Documen, Index 和 Type 分别是什么?
文档 & 文档的 Meta Data
文档(Document)
- Elasticsearch 是面向文档的,文档是所有可搜索数据的最小单位
- 日志文件中的日志项
- 一部电影的具体信息 / 一张唱片的详细信息
- MP3 播放器里的一首歌 / 一篇 PDF 文档中的具体内容
- 文档会被序列化成 JSON 格式,保存在 Elasticsearch 中
- JSON 对象由字段组成
- 每个字段都有对应的字段类型(字符串 / 数值 / 布尔 / 日期 / 二进制 / 范围类型)
- 每个文档都有自己的一个 Unique ID
- 你可以自己指定 ID
- 或者通过 Elasticsearch 自动生成
JSON 文档
- 一篇文档中包含了一系列的字段。类似数据库表中的一条记录
- JSON 文档,格式灵活,不需要预先定义格式
- 字段的类型可以指定或者通过 Elasticsearch 自动推算
- 支持数组 / 支持嵌套
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YrDswoph-1617379497333)(https://raw.githubusercontent.com/MANKVISS/picture-bed/main/image-20210402234908477.png)]
文档的 Meta Data
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ISqKthbC-1617379497339)(https://raw.githubusercontent.com/MANKVISS/picture-bed/main/image-20210402235103818.png)]
索引
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LMVoSuO5-1617379497342)(https://raw.githubusercontent.com/MANKVISS/picture-bed/main/image-20210402235338469.png)]
索引的不同语义
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tgp4K84f-1617379497346)(https://raw.githubusercontent.com/MANKVISS/picture-bed/main/image-20210402235505261.png)]
Type
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KvOGQtjl-1617379497352)(https://raw.githubusercontent.com/MANKVISS/picture-bed/main/image-20210402235622275.png)]
抽象与类比
REST API - 很容易被各种语言调用
一些基本的 API
- Indices
- 创建 Index
- PUT Movies
- 查看所有 Index
- _cat/indices
- 创建 Index
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
相关阅读
- 为什么不再支持单个Index下,多个Tyeps https://www.elastic.co/cn/blog/moving-from-types-to-typeless-apis-in-elasticsearch-7-0
- CAT Index API https://www.elastic.co/guide/en/elasticsearch/reference/7.1/cat-indices.html