【Elasticsearch-03】文档、索引和RESTAPI

1. 文档

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

    • 日志文件中的日志项
    • 一部电影的具体信息 / 一张唱片的详细信息
    • MP3播放器里的哼一首歌 / 一篇PDF文档中的具体内容
  • 文档会被序列化成JSON格式,保存在ElasticSearch中

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

    • 你可以自己指定ID
    • 或者通过ElasticSearch自动生成
1.1 JSON文档
  • 一篇文档包含了一系列的字段,类似关系型数据库中表里的一条记录
  • Elasticsearch文档都以JSON形式存在,因为JSON文档,格式灵活,不需要预先定义格式
    • 字段的类型可以指定或者通过Elasticsearch自动进行推算
    • 支持数组 / 支持嵌套
      图片: https://uploader.shimo.im/f/7Vzpd6sxrloetYFg.png
1.2 元数据
  • 元数据用于标注文档的相关信息
    图片: https://uploader.shimo.im/f/eWw5DTF0d0ETwTu0.png
字段说明
_index文档所属的索引名
_type文档所属的类型名
_id文档唯一ID
_source文档的原始Json数据
_id文档唯一ID
all整合所有字段内容到该字段,7.x被废除
_version文档的版本信息
_score相关性打分

2. 索引 Index

  • 理解ElasticSearch的索引请抛开关系型数据库MySQL等索引的概念,重新认识它。
    图片: https://uploader.shimo.im/f/1eNXy24V7eIF5bpl.png

  • Index - 索引是文档的容器,是一类文档的集合,相当于MySQL的一个Table

    • Index体现了逻辑空间的概念,每个索引都有自己的Mapping定义,用于定义包含的文档的字段名和字段类型,相当于MySQL的Schema
    • Shard体现了物理空间的概念:索引中的数据分散在Shard上
2.1 索引的Mapping与settings
  • Mapping定义文档字段的类型
  • setting定义不同的数据分布
2.2 关于索引的不通语义
  • 2.2.1 名词:一个ElasticSearch集群中,可以创建很多个不用的索引
  • 2.2.2 动词:保存一个文档到ElasticSearch的过程也叫索引(indexing)
    • ES中,创建一个倒排索引的过程
  • 2.2.3 名词:一个B树索引,一个倒排索引
    图片: https://uploader.shimo.im/f/cQBWYGXkZr4iovoS.png

3. 类型 Type

  • 在7.0之前,一个Index可以设置多个Types
  • 从6.0开始,Type已经被Deprecated。
  • 7.0开始,一个索引只能创建一个Type - “doc”
    图片: https://uploader.shimo.im/f/FQW29fVC9a8gPalD.png

4. 抽象与类比

  • 传统关系型数据库与ES抽象对比图
    图片: https://uploader.shimo.im/f/Pf7yWOmkD98o8QaL.png

5. REST API - 方便被各种语言调用

图片: https://uploader.shimo.im/f/VShoIngVqgM1xJ3X.png

5.1 一些基本的API
  • 查看节点
_cat/nodes

查看所有index

_cat/indices
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值