前言
- ES版本7.14.0
- ES概念这里不会涉及太多,大部分都是操作。
- 需要安装ES和Kibana的请看我的另一篇博客
一、索引
1.创建
# 查看es中的索引
GET /_cat/indices?v
# 创建索引
PUT /test
{
"settings": {
"number_of_shards": 1, # 主分片
"number_of_replicas": 0 # 副本分片
}
}
settings是对当前索引的设置,主分片和副本分片会在后续的集群概念中讲到。这里也先不设置分词器。
2.查询
在我们的索引创建成功之后,可以执行下面操作来查看我们的索引信息。
GET /test # 查看索引信息
3.删除
DELETE /test # 删除索引
二、映射
1.数据类型
在操作映射之前,先了解一下es中有哪些数据类型。
字符串类型:keyword(关键字、关键词)、text(一段文本)
数字类型:integer、long、
小数类型:float、double
布尔类型:boolean
日期类型:date
地理相关数据类型:geo_point、geo_shape
以上是一些常用的数据类型。
2.创建
在我们创建索引的时候来创建映射
# 删除已经存在的索引
DELETE /test
# 创建索引&映射
PUT /test
{
"settings": {
"number_of_shards": 1,
"number_of_replicas": 0
},
"mappings": {
"properties": {
"name":{
"type": "keyword"
},
"price":{
"type": "double"
},
"desc":{
"type": "text"
},
"create_time":{
"type": "date"
}
}
}
}
# 查看映射
GET /test/_mapping
三、文档
1.添加文档
# /1 是指定_id
POST /test/_doc/1
{
"name":"擎天柱",
"price":123.32,
"desc":"变形金刚--汽车人领袖--汽车人",
"create_time":"2023-01-31" # 日期这是01写成1会报日期解析异常
}
# 不指定_id,会自动生成
POST /test/_doc
{
"name":"擎天柱",
"price":123.32,
"desc":"变形金刚--汽车人领袖--汽车人",
"create_time":"2023-01-31"
}
2.查询文档
# 根据id查询
GET /test/_doc/1
3.删除文档
DELETE /test/_doc/1
4.更新文档
# 更新全部字段 该方法如没有写的字段会将原来的字段删除掉
PUT /test/_doc/1
{
"name" : "擎地柱",
"price" : 150.23,
"desc" : "擎地柱是真的天"
}
# 更新指定字段
POST /test/_doc/1/_update
{
# doc为固定写法
"doc":{
"name" : "擎地柱"
}
}
5.批量操作
在批量操作的时候,kibana不支持格式化。可以自己写好之后,单机右上角扳手图标Auto indent
POST /test/_bulk
{"index":{"_id":"2"}} # 代表新增数据
{"name":"威震天","price":36.96,"desc":"变形金刚真的牛--霸天虎领袖--霸天虎"}
{"update":{"_id":"1"}} # 代表修改数据
{"doc":{"name":"御天敌","desc":"变形金刚--前汽车人领袖--汽车人"}}
{"delete":{"_id":"3"}} # 删除_id为3的数据
总结
以上是对ES中的索引、映射以及文档的简单操作,在kibana中可以自己简单测试一下,后续会进行DSL的操作。