Elasticsearch Document & Type & Index

> 要了解Eleasticsearch,首先就要从基本的对象进行了解,这一篇是介绍什么是文档(Document),什么是类型(Document Type),什么是索引(Index),如何去创建和使用。


#### 文档(Document)

文档是 Elasticsearch 中可被搜索的最小单位,文档由多个字段的值组成,通过序列化 JSON 格式保存在Elasticsearch中,每一个文档都有唯一的ID。例如个人的简历、歌曲的详情等等都可以存储在文档中。


##### 文档元数据

用于标注文档的相关信息

_index :文档所属的索引名

_type :文档所属的类型名

_id :文档唯一ID

_source:文档的原始 JSON 数据

_version:文档的版本信息

_score:相关性打分


##### 文档字段的类型

基础类型:

字符串 String,String还包含 text(可被索引) 和 keywork(不分词不支持索引)

数值 包含Byte,Short,Integer,Long,Float,Double

数组类型 包含字符串和数值及对象型数组

地址位置类型 包含单一经纬度坐标 Geo-point 及区域性经纬度坐标 Geo-Shape

特殊类型包 含 IPv4,IPv6地址等类型


#### 类型(Document Type)

在 Elasticsearch 7.0 之前,一个 Index 可以创建多个 Document Type,但在 7.0 开始及之后,一个Index 只能对应一个 Document Type,且默认是 _doc 。


#### 索引(Index)

索引是一组相同类型的文档组合,例如歌曲索引中包含了粤语类型的歌曲文档,通过这个索引就可以找到所以粤语类型的歌曲。



#### REST API 操作

Elasticsearch Document & Type & Index

索引的创建

PUT materiel
{
  "settings" : {
    "number_of_shards" : 3,
    "number_of_replicas": 1
  },
  "mappings" : {
    "properties" : {
      "materiel" : { "type" : "text" },
      "description" : { "type" : "text" }
    }
  }
}

往索引中写入文档

POST materiel/_doc/
{
  "materiel" : "10010001",
  "description" : "橙汁"
}


上一篇:Prometheus - Introduction


下一篇:Prometheus - Blackbox Exporter