创建索引库:不带映射的
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错误表示请求格式有问题