> 要了解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 操作
索引的创建
PUTmateriel{ "settings" : { "number_of_shards" : 3, "number_of_replicas": 1 }, "mappings" : { "properties" : { "materiel" : { "type" : "text" }, "description" : { "type" : "text" } } } }
往索引中写入文档
POSTmateriel/_doc/{ "materiel" : "10010001", "description" : "橙汁"}