doc 文档的增删改查
文档的增删改查
新增文档
PUT localhost:9200/nba/_doc/1
{
"name": "hadeng",
"team_name": "勇士",
"position": "得分后卫",
"play_year": "10",
"jerse_no": "13"
}
新增自增id
使用POST,不能用PUT了
POST localhost:9200/nba/_doc/1
{
"name": "hadeng",
"team_name": "勇士",
"position": "得分后卫",
"play_year": "10",
"jerse_no": "13"
}
自动创建索引
当我们创建一个文档,但是对应索引不存在的时候,
可以自动创建索引, 这个能力需要打开。
# 查看集群配置 查看auto_create_index
# 不存在或者为True的时候,会自动创建索引
GET http://localhost:9200/_cluster/settings
# 修改
PUT http://localhost:9200/_cluster/settings
{
"persistent": {
"action.auto_create_index": "false"
}
}
指定操作
# 当我们有id=1的文档的时候,此操作会修改文档
PUT localhost:9200/nba/_doc/1
{
"name": "大胡子",
"team_name": "勇士",
"position": "得分后卫",
"play_year": "10",
"jerse_no": "13"
}
# 如果我们不想修改,只想创建,可以指定操作
PUT localhost:9200/nba/_doc/1?op_type=create
{
"name":"哈登",
"team_name":"火箭",
"position":"得分后卫",
"play_year":"10",
"jerse_no":"13"
}
查看文档
# 查看指定ID文档
GET localhost:9200/nba/_doc/1
# 查看多个ID文档
POST localhost:9200/_mget
{
"docs" : [
{
"_index" : "nba",
"_type" : "_doc",
"_id" : "1"
},
{
"_index" : "nba",
"_type" : "_doc",
"_id" : "2"
}
]
}
# URL指定索引
POST localhost:9200/nba/_mget
{
"docs": [
{
"_type": "_doc",
"_id": "1"
},
{
"_type": "_doc",
"_id": "2"
}
]
}
# URL指定索引和类型
POST localhost:9200/nba/_doc/_mget
{
"docs": [
{
"_id": "1"
},
{
"_id": "2"
}
]
}
# 最终简便
GET localhost:9200/nba/_doc/_mget
{
"ids" : ["1", "2"]
}
修改文档
POST localhost:9200/nba/_update/1
{
"doc": {
"name": "哈登",
"team_name": "勇士",
"position": "控卫",
"play_year": "10",
"jerse_no": "13"
}
}
向_source新增一个字段
# 新增字段
POST localhost:9200/nba/_update/1
{
"script": "ctx._source.age = 18"
}
# 删除
POST localhost:9200/nba/_update/1
{
"script": "ctx._source.remove(\"age\")"
}
# 更新, 获取到原值,并+4
POST localhost:9200/nba/_update/1
{
"script": {
"source": "ctx._source.age += params.age",
"params": {
"age": 4
}
}
}
# 存在则只需更新逻辑,不存在则执行upsert
POST localhost:9200/nba/_update/3
{
"script": {
"source": "ctx._source.allstar += params.allstar",
"params": {
"allstar": 4
}
},
"upsert": {
"allstar": 1
}
}
删除文档
DELETE localhost:9200/nba/_doc/1
还没有评论,来说两句吧...