創建索引庫:不帶映射的
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錯誤表示請求格式有問題
-