1. 创建文档
1.1 创建一个文档
在相应的索引下面使用_doc创建文档,地址为:http://127.0.0.1:9200/students/_doc,创建一个姓名张三的学生信息:
{
"姓名":"张三",
"年级":5,
"班级":2,
"性别":"男",
"成绩":{
"语文":89,
"数学":92.5
}
}
返回的result为created表示创建成功。_id属性表示新创建文档的唯一性表示,其对应的version为1。如果执行多次,会创建多个内容相同的文档信息(id不同)。这个索引由ES随机生成,不容易记住。
1.3 创建指定id的文档
ES生成的索引没有业务含义,也不容易记忆,并且多次发送回生成多个id不同内容相同的文档,可以在生成文档的路径后面指定索引,例如创建学生李四,索引为2023_5_2_1,表示2023年5年级2班编号为1的学生:
请求路径:http://127.0.0.1:9200/students/_doc/2023_5_2_1
请求body:
{
"姓名": "李四",
"年级": 5,
"班级": 2,
"性别": "男",
"成绩": {
"语文": 65,
"数学": 78
}
}
重复执行表示全量更新,除了更新内容回覆盖外,version版本也会增加。
1.4 指定创建操作创建文档
_do替换为_create表示文档操作为创建,如果文档已经被创建,则会创建失败。
重复创建会失败:
1.5 局部更新
使用update+文档Id更新指定的文档,例如,更新李四的学习成绩,请求路径为:http://127.0.0.1:9200/students/_update/2023_5_2_1,请求体为:
{
"doc": {
"成绩": {
"语文": 95,
"数学": 92.5
}
}
}
2. 文档查询
2.1 查询指定文档
使用get+id查询指定文档
found为查询结果, _source为查询结果内容。
3. 删除文档
3.1 删除指定id的文档
使用DELETE操作删除文档: