本文来说下Elasticsearch基本操作之文档操作
文章目录
- 文档概述
- 创建文档示例
- 创建文档(生成随机id)
- 创建文档(自定义唯一性标识)
- 查看文档示例
- 根据主键查看文档
- 查看所有文档
- 本文小结
文档概述
文档概述
- 在创建好索引的基础上来创建文档,并添加数据。
- 这里的文档可以类比为关系型数据库中的表数据,添加的数据格式为 JSON 格式。
创建文档示例
创建文档(生成随机id)
在 apifox 中,向 ES 服务器发 POST 请求 :http://localhost:9200/person/_doc,请求体内容为:
服务器响应结果如下:
此处发送请求的方式 必须为 POST,不能是 PUT ,否则会发生错误
服务器响应结果解释
{
"_index"【索引】: "person",
"_type"【 类型-文档 】: "_doc",
"_id"【唯一标识】: "Qc8r54wBBLem2BEmnNus",
#可以类比为 MySQL 中的主键,随机生成
"_version"【版本】: 1,
"result"【结果】: "created",#这里的 create 表示创建成功
"_shards"【分片】: {
"total"【分片 - 总数】: 2,
"successful"【分片 - 成功】: 1,
"failed"【分片 - 失败】: 0
},
"_seq_no": 1,
"_primary_term": 1
}
- 注意:上面的数据创建后,由于没有指定数据唯一性标识(ID),默认情况下,ES 服务器会随机生成一个。
创建文档(自定义唯一性标识)
在 apifox 中,向 ES 服务器发 POST 请求 :http://localhost:9200/person/_doc/1,请求体内容为:
{
"name":"李四",
"age":22,
"sex":"女"
}
服务器响应结果如下:
查看文档示例
根据主键查看文档
查看文档时,需要指明文档的唯一性标识,类似于 MySQL 中数据的主键查询。在 apifox 中,向 ES 服务器发 GET 请求 :http://127.0.0.1:9200/person/_doc/ 1
查询成功后,服务器响应结果
服务器响应结果解释
{
"_index"【索引】: "person",
"_type"【文档类型】: "_doc",
"_id"【唯一标识】: "1", #可以类比为 MySQL 中的主键
"_version"【版本】: 1,
"_seq_no": 4,
"_primary_term": 1,
"found"【查询结果】: true, # true 表示查找到,false 表示未查找到
"_source"【文档源信息】: {
"name": "李四",
"age": 22,
"sex": "女"
}
}
查看所有文档
在 apifox 中,向 ES 服务器发 GET 请求 :http://localhost:9200/person/ _search
查询成功后,服务器响应结果
{
"took": 0,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 5,
"relation": "eq"
},
"max_score": 1.0,
"hits": [
{
"_index": "person",
"_type": "_doc",
"_id": "QM_K5owBBLem2BEmAdux",
"_score": 1.0,
"_source": {
"name": "张三",
"age": 20,
"sex": "男"
}
},
{
"_index": "person",
"_type": "_doc",
"_id": "Qc8r54wBBLem2BEmnNus",
"_score": 1.0,
"_source": {
"name": "张三",
"age": 20,
"sex": "男"
}
},
{
"_index": "person",
"_type": "_doc",
"_id": "Qs9754wBBLem2BEm69tA",
"_score": 1.0,
"_source": {
"name": "张三",
"age": 20,
"sex": "男"
}
},
{
"_index": "person",
"_type": "_doc",
"_id": "Q89854wBBLem2BEmXds5",
"_score": 1.0,
"_source": {
"name": "李四",
"age": 22,
"sex": "女"
}
},
{
"_index": "person",
"_type": "_doc",
"_id": "1",
"_score": 1.0,
"_source": {
"name": "李四",
"age": 22,
"sex": "女"
}
}
]
}
}
本文小结
本文记录了Elasticsearch基本操作之文档操作