文档(Document)与 CRUD
本章定位:Elasticsearch 是面向文档的搜索引擎。文档是 ES 的最小数据单元,CRUD 是操作文档的四个基本命令。
定义与作用
Document(文档)是 Elasticsearch 中存储的最小数据单元,以 JSON 格式表示。每个文档属于一个索引,有唯一的 _id。CRUD 代表 Create(创建)、Read(读取)、Update(更新)、Delete(删除)四个基本操作。
完整示例:小崔操作学生文档
# Create:创建文档
POST /students/_doc/1
{ "name": "黄小俪", "province": "广东", "score": 95 }
# Read:读取文档
GET /students/_doc/1
# Update:部分更新
POST /students/_update/1
{ "doc": { "score": 98 } }
# Delete:删除文档
DELETE /students/_doc/1
Bulk 批量操作
POST /_bulk
{"index":{"_index":"students","_id":"1"}}
{"name":"黄小俪","province":"广东","score":95}
{"index":{"_index":"students","_id":"2"}}
{"name":"孔少蓝","province":"广东","score":88}
小结
单个文档 CRUD 适合小量操作,Bulk API 适合批量写入。Update 本质是删除旧文档 + 创建新文档(内部 versioning)。Delete 不会立即释放磁盘空间,需等待 Segment Merge。