赞
踩
上一篇文章《ElasticSearch - Kibana》
索引
一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个商品数据的索引,一个订单数据的索引,还有一个用户数据的索引。 一个索引由一个名字来标识(必须全部是小写字母的
),并且当我们要对这个索引中的文档进行索引、搜索、更新和删除的时候,都要使用到这个名字
映射
映射是定义一个文档和它所包含的字段如何被存储和索引的过程。在默认配置下,ES可以根据插入的数据自动地创建mapping
,也可以手动创建mapping。mapping中主要包括字段名字段类型等
文档
文档是索引中存储的一条条数据。一条文档是一个可被索引的最小单元
。ES中的文档采用了轻量级的JSON格式数据来表示
索引->表(product表、user表…) 映射->表结构(id、username、password…) 文档->数据行({“id”:1,“username”:“zhangsan”,“passowrd”:“123456”}…)
索引
创建索引
# 1.创建索引
PUT /索引名 ===> PUT /products
# 【注意】
- ES中索引健康状态 red(表示索引不可用)、yellow(表示索引可用、但存在风险)、green(健康)
- 默认ES在创建索引时,会为索引创建1个备份索引和primary索引
# 2.创建索引,进行索引分配配置
PUT /order
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 0
}
}
查询所有索引信息
删除索引
# 删除索引
DELETE /product
ES常见的基本类型
创建映射
# 创建商品索引,指定mapping {id,title,price,create_time,description} PUT /product { "settings": { "number_of_replicas": 0, "number_of_shards": 1 }, "mappings": { "properties": { "id": { "type": "integer" }, "title": { "type": "keyword" }, "price": { "type": "double" }, "create_time": { "type": "date" }, "description": { "type": "text" } } } }
查询索引的映射信息
GET /[索引名]/_mapping ===> GET /product/_mapping
【注意】映射信息是不允许被删除和修改的
文档的添加
# 添加文档操作,指定文档id POST /product/_doc/2 { "id": 2, "title": "blog", "price": 12.6, "create_time": "2022-09-12", "description": "vinjcent's blog" } # 添加文档操作,默认使用uuid POST /product/_doc/ { "id": 2, "title": "blog", "price": 12.6, "create_time": "2022-09-12", "description": "vinjcent's blog" }
文档的修改
# 不正确的更新操作 POST /product/_doc/1 { "id": 1, "title": "blog", "price": 12.6, "create_time": "2022-09-12", "description": "vinjcent's blog" } # 正确的操作.【注意】会删除原有的数据后,再重新添加 PUT /product/_doc/1 { "id": 1, "title": "blog", "price": 12.6, "create_time": "2022-09-12", "description": "vinjcent's blog" }
指定字段进行修改
# 模板
POST /[索引]/_doc/[文档id]/_update
{
"doc": {
"属性": "修改内容",
...
}
}
# 样例
POST /product/_doc/1/_update
{
"doc": {
"price": 1.7
}
}
文档的查询
GET /[索引]/_doc/[文档id] ===> GET /product/_doc/1
删除文档
DELETE /[索引]/_doc/[文档id] ===> DELETE /product/_doc/QHnFMIMB7hXKWzAioRlM
文档批量录入
# 文档的批量操作
POST /product/_doc/_bulk
{"index": {"_id": 2}}
{ "id" : 2, "title" : "Totoro", "price" : 1.8, "create_time" : "2022-09-12", "description" : "Totoro's blog" }
{"index": {"_id": 3}}
{ "id" : 3, "title" : "Maria", "price" : 12.0, "create_time" : "2022-09-12", "description" : "Maria's blog" }
录入成功
批量增、删、改
# 文档的批量操作 添加、更新、删除
POST /product/_doc/_bulk
{"index": {"_id": 4}}
{ "id" : 4, "title" : "Villin", "price" : 10.7, "create_time" : "2022-09-12", "description" : "Villin's blog" }
{"update": {"_id": 3}}
{"doc": {"title": "Maria01", "description": "Maria01's blog"}}
{"delete": {"_id": 2}}
【注意】批量操作时,不会因为一个操作的失败而全部失败(不保证原子性),而是继续执行后续操作,最后返回按照执行的状态返回
下一篇文章《ElasticSearch - 高级查询》
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。