02_Elastic Stack 从入门到实践(二)
一、Elasticsearch快速入门之 RESTful API(插入数据)
1、Restful API 插入数据(URL规则:POST请求/(索引)/(类型)/{id})
POST /haoke/user/1001
#数据
{
"id": 1001,
"name": "张三",
"age": 20,
"sex": "男"
}
#响应
{
_index: "haoke"
_type: "user"
_id: "1001"
_version: 1
result: "created"
_shards:
{
total: 1
successful: 1
failed: 0
}
-
_seq_no: 0
_primary_term: 1
}
2、说明:非结构化的索引,不需要事先创建,直接插入数据,默认创建索引。
如下:
POST /haoke/user/
#数据
{
"id": 1002,
"name": "李四",
"age": 28,
"sex": "女"
}
3、示例:
二、Elasticsearch快速入门之 RESTful API(更新数据)
1、Restful API 更新数据,在 elasticsearch中,文档数据是不能修改的,但是可以通过覆盖的方式进行更新。
POST /http://192.168.43.216:9200/haoke/user/1001
# 数据
{
"id": 1001,
"name": "张三",
"age": 22,
"sex": "女"
}
# 响应
{
_index: "haoke"
_type: "user"
_id: "1001"
_version: 2
result: "updated"
_shards:
{
total: 1
successful: 1
failed: 0
}
-
_seq_no: 2
_primary_term: 1
}
2、局部更新4步骤:从旧文档中检索JSON,修改它,删除旧文档,索引新文档。
POST /http://192.168.43.216:9200/haoke/user/1001/_update
# 数据
{
"doc": {
"age": 18
}
}
# 响应
{
_index: "haoke"
_type: "user"
_id: "1001"
_version: 3
result: "updated"
_shards:
{
total: 1
successful: 1
failed: 0
}
-
_seq_no: 3
_primary_term: 1
}
3、示例:
1)全局更新
2)局部更新
三、Elasticsearch快速入门之 RESTful API(删除、搜索数据)
1、在 elasticsearch 中,删除文档数据,只需要发起 delete 请求即可。
DELETE /http://192.168.43.216:9200/haoke/user/1001
2、说明:
删除一个文档也不会立即从磁盘上移除,它只是标记成已删除状态。elasticsearch 将会在之后添加更多索引的时候才会在后台进行删除内容的清理。
3、在 elasticsearch 中,搜索数据,根据id进行搜索。
GET /http://192.168.43.216:9200/haoke/user/6HUt8JQBLCTZ0muXhaC5
# 返回的数据如下:
{
_index: "haoke"
_type: "user"
_id: "6HUt8JQBLCTZ0muXhaC5"
_version: 1
found: true
_source:
{
id: 1002
name: "李四"
age: 28
sex: "女"
}
-
}
4、在 elasticsearch 中,搜索数据,查询全部数据。
GET /http://192.168.43.216:9200/haoke/user/_search
# 返回的结果
{
took: 40
timed_out: false
_shards:
{
total: 2
successful: 2
skipped: 0
failed: 0
}
-
hits:
{
total: 1
max_score: 1
hits:
[
1]
0:
{
_index: "haoke"
_type: "user"
_id: "6HUt8JQBLCTZ0muXhaC5"
_score: 1
_source:
{
id: 1002
name: "李四"
age: 28
sex: "女"
}
-
}
-
-
}
-
}
5、在 elasticsearch 中,搜索数据,根据条件查询数据。
GET http://192.168.43.216:9200/haoke/user/_search?q=age:28
<