Elasticsearch增删改查语句
创建索引库:不带映射的
PUT /索引名称
{"settings": {"number_of_shards": 3, // 主分片数"number_of_replicas": 1 // 每个主分片的副本数}
}
创建带映射的索引库:
PUT /products
{"settings": {"number_of_shards": 3,"number_of_replicas": 1},"mappings": {"properties": {"id": {"type": "keyword"},"name": {"type": "text","analyzer": "ik_max_word","fields": {"keyword": {"type": "keyword"}}},"price": {"type": "double"},"stock": {"type": "integer"},"create_time": {"type": "date"}}}
}
查询索引库信息
查询单个索引库信息
GET /索引名称
查询多个索引库的信息
GET /索引1,索引2
查询所有索引
GET /_all
查询索引的映射信息
GET /索引名称/_mapping
修改索引库
修改索引1设置,修改部分
PUT /索引名称/_settings
{"number_of_replicas": 2
}
添加新字段映射
PUT /索引名称/_mapping
{"properties": {"new_field": {"type": "text"}}
}
删除索引库
DELETE /索引名称
文档CRUD的操作
添加文档
指定文档id参加
PUT /索引名称/_doc/文档ID
{"字段1": "值1","字段2": "值2"
}
自动生成文档id添加
POST /索引名称/_doc
{"字段1": "值1","字段2": "值2"
}
查询文档
根据id查询
GET /索引名称/_doc/文档ID
查询所有文档
GET /索引名称/_search
{"query": {"match_all": {}}
}
修改文档
全量替换(覆盖原有文档)
PUT /索引名称/_doc/文档ID
{"字段1": "新值1","字段2": "新值2"
}
部分更新(只修改指定字段)
POST /索引名称/_update/文档ID
{"doc": {"字段1": "新值1"}
}
删除文档
DELETE /索引名称/_doc/文档ID
注意规范:
-
索引命名规范
-
使用小写字母
-
避免特殊字符
-
可以包含数字和下划线
-
推荐使用
<业务名称>_<数据类型>_v<版本号>
格式
-
-
操作确认:
-
创建/修改/删除操作后可以使用
GET /索引名称
确认结果 -
文档操作后可以使用
GET /索引名称/_doc/文档ID
验证
-
-
错误处理:
-
404错误表示索引或文档不存在
-
409错误表示版本冲突
-
400错误表示请求格式有问题
-