ElasticSearch如何更新和删除文档?

上节课讲到了如何新建文档,这节课主要讲一下如何删除和更新文档。

第一步,先查询昨天插入的数据

get http://10.42.92.184/es/megacorp/employee/_search

返回结果如下

{
    "took": 5,
    "timed_out": false,
    "_shards": {
        "total": 5,
        "successful": 5,
        "failed": 0
    },
    "hits": {
        "total": 3,
        "max_score": 1.0,
        "hits": [
            {
                "_index": "megacorp",
                "_type": "employee",
                "_id": "2",
                "_score": 1.0,
                "_source": {
                    "first_name": "Jane",
                    "last_name": "Smith",
                    "age": 32,
                    "about": "I like to collect rock albums",
                    "interests": [
                        "music"
                    ]
                }
            },
            {
                "_index": "megacorp",
                "_type": "employee",
                "_id": "1",
                "_score": 1.0,
                "_source": {
                    "first_name": "John",
                    "last_name": "Smith",
                    "age": 25,
                    "about": "I love to go rock climbing",
                    "interests": [
                        "sports",
                        "music"
                    ]
                }
            },
            {
                "_index": "megacorp",
                "_type": "employee",
                "_id": "3",
                "_score": 1.0,
                "_source": {
                    "first_name": "Douglas",
                    "last_name": "Fir",
                    "age": 35,
                    "about": "I like to build cabinets",
                    "interests": [
                        "forestry"
                    ]
                }
            }
        ]
    }
}

1.如何更新文档呢?

其实很简单,和新增文档没有什么区别,只不过,elasticSearch会根据索引号和文档名字以及id(megacorp/employee/1)判断是否存在记录,存在则更新,例如:

get http://10.42.92.184/es/megacorp/employee/1

返回结果如下,显示当前版本号是5.

{
"_index": "megacorp",
"_type": "employee",
"_id": "1",
"_version": 5,
"found": true,
"_source": {
"first_name": "John",
"last_name": "Smith",
"age": 25,
"about": "I love to go rock climbing",
"interests": [
"sports",
"music"
]
}
}

下面我们更新一下age 字段改成26岁

post http://10.42.92.184/es/megacorp/employee/1
{
    "first_name" : "John",
    "last_name" :  "Smith",
    "age" :        26,
    "about" :      "I love to go rock climbing",
    "interests": [ "sports", "music" ]
}

 返回结果,修改成功,版本号为6

{
    "_index": "megacorp",
    "_type": "employee",
    "_id": "1",
    "_version": 6,
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    },
    "created": false
}

2.如何删除文档呢?

delete http://10.42.92.184/es/megacorp/employee/1

返回结果,删除成功

{
    "found": true,
    "_index": "megacorp",
    "_type": "employee",
    "_id": "1",
    "_version": 7,
    "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
    }
}

我们在查询一下

get http://10.42.92.184/es/megacorp/employee/1

返回结果如下,表面删除成功

{
    "_index": "megacorp",
    "_type": "employee",
    "_id": "1",
    "found": false
}

好了,今天就先到这里,下一节课我们进行简单的搜索功能尝试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值