ElasticSearch基本概念,索引,文档

文档 (Document)

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

    1. 日志文件中的日志项
    2. 一部电影的具体信息
    3. MP3播放器的一首歌
  • 文档会被序列化JSON格式保存到 ElasticSearch中

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

    1. 你可以自己指定ID
    2. 或者通过 ElasticSearch 自动生成
  • 一篇文中包含了一系列的字段,类似于数据库表中的一条记录

  • JSON文档,格式灵活,不需要预先定义格式

    1. 字段的类型可以指定或者通过 ElasticSearch 自动推算
    2. 支持数组 \ 支持嵌套

文档的元数据

{
	"index": "movies",
	"_type": "_doc",
	"_id": "1",
	"_score": "14.69302",
	"_source": {
		"year": 1995,
		"@version": "1",
		"genre" : [
			"Adventure",
			"Animation",
			"Children",
			"Comedy",
			"Fantasy"
		],
		"id" : "1",
		"title" : "Toy Story"
	} 
}
元数据, 用于标注文档的相关信息
  • _index 文档 所属的索引名
  • _type 文档所属的类型名
  • _id 文档唯一 的ID
  • _source 文档的原始 Json 数据
  • _all 整合所有字段内容到该字段 , 已经被废除
  • _version 文档版本信息
  • _scoure 相关性打分

索引

{
	"movies" : {
		"settings" : {
			"creation_date" : "1552737458543",
			"number_of_shards" : "2",
			"number_of_replicas" : "0",
			"uuid" : "Qnd71MrNQGdaeJ9oR0tfQ",
			"version" : {
				"created" : "6060299"
			},
			"provided_name" : "movies"
		}
	}
}
  • index - 索引是 文档的容器, 是一类 文档的结合
    1. index 体现了逻辑空间的概念, 每个索引都有自己的 Mapping 定义, 用于定义包含的文档的字段名和字段类型
    2. Shard 体现了 屋里空间的概念,索引中的数据分散在 Shard 上
  • 索引的 MappingSettings
    1. Mapping 定义文档字段的类型
    2. Setting 自已不同的数据分布

索引的不同语义

  • 名词: 一个 ElasticSearch 集群中, 可以创建很多个不同的索引
  • 动词: 保存一个文档到ElasticSearch 的过程也叫索引 (indexing)
    1. ES中 ,创建一个倒排索引的过程

Type

在 7.0 之前,一个index 可以设置多个 Types
在 6.0 开始 Type 已经被 Deprecated。 7.0 开始,一个索引只能创建一个 Type- “_doc”

做一个不恰当的类比

  • 传统关系型数据库 和 ElasticSearch 的区别
    1. Elasticsearch - Shemaless / 相关性 / 高性能全文检索
    2. RDMS - 事务性 / JOIN
数据库ES
TableIndex(Type)
RowDocument
ColumnField
SchemaMapping
SQLDSL

简单的API

// 查看索引相关信息
GET kibana_sample_data_ecommerce
// 查看索引的文档总数
GET kibana_sample_data_ecommerce/_count
// 查看状态为绿的索引
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,m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值