惯例: 首先上手册
https://www.kancloud.cn/yiyanan/elasticsearch_7_6/1651638
文档
Elasticsearch 是 面向文档 的,意味着它存储整个对象或 文档,文档是ElasticSearch 可搜索数据的最小单位。 - 文档类似数据库的一条数据记录,有键值对 - 文档可以是一条日志,一个电影的描述信息等
Elasticsearch 使用 JSON 作为文档的序列化格式,也就是说,文档数据会被 ElasticSearch 以 JSON 的方式存储。
- JSON 对象由字段以及属性组成
- JSON 对象的每个字段都有对应的字段类型(字符串 / 数值 / 布尔 / 日起 / 范围类型)
Elasticsearch 不仅存储文档,而且 索引 每个文档的内容,使之可以被检索。在 Elasticsearch 中,是对文档进行索引、检索、排序和过滤,而不是对行列数据,这也是 Elasticsearch 能支持复杂全文检索的原因。每个文档都有一个 Unique ID
- Id 可以是你自己指定的,必须唯一
- id也可以通过 ELasticSearch 自动生成
{
"_index" : "movies",
"_type" : "_doc",
"_id" : "1468",
"_score" : 1.0,
"_source" : {
"title" : "Booty Call",
"@version" : "1",
"id" : "1468",
"year" : 1997,
"genre" : [
"Comedy",
"Romance"
]
}
}
这就是 elastic的一个文档的格式,可以看到是按照JSON来存储的。
文档的元数据
文档是由一些元数据来描述的,元数据,用于描述的文档的一些基本信息,我们根据上边的这个文档结构来分析每个字段的元数据意义。
_index - - 文档所属的索引名
_type - - 文档所属的类型名,在7之前这个类型是可设置的,7之后这个类型默认都是_doc 并且不可以设置
_id - - 文档的唯一Id,可以通过这个去查找文档
_source - - 文档的原始数据,也就是我们存储的真正数据
version - - 文档的版本,通过这个做mvvc控制,解决并发的版本冲突
_score - - 相关性打分,可以用这个做排序
CRUD API
一下的所有Api 命令都是通过kibana的开发工具操作的,如果是 http 请求,那么将 es 的地址 拼在里边就可以
curl -XPOST "http://localhost:9210/users/_doc/1"