ElasticSearch笔记系列(7)——删除文档和删除索引

本文介绍删除文档和删除索引的基本方法。本来想把这几篇合成一篇的,但最近事情太多,好多比较长的文章总是写了一半便束之高阁,其中有几篇还日久终止了。所以为了给整天乱忙的自己一点循序渐进的鼓励,于是写一章节发一短篇。

之前的文章示例中,我们添加了两个索引house和rent。rent索引我们创建了两个类型community和shop。community类型我们插入了两个文档。

本文来介绍如何删除一个文档,以及如何删除一个索引。

删除文档

删除一个文档需要指明其id。

与插入一个文档类似,需要请求地址http://localhost:9200/rent/community/1

指明要删除的文档对应的索引、类型及文档id。但是请求的协议不再是put,而是delete。

提交后显示删除结果:found代表找到一个文档,_index代表对应的索引,_type代表对应的类型,_id代表对应的文档id。操作结果是deleted,删除的数量2个,因为包含一个副本。

{
    "found": true,
    "_index": "rent",
    "_type": "community",
    "_id": "1",
    "_version": 5,
    "result": "deleted",
    "_shards": {
        "total": 2,
        "successful": 2,
        "failed": 0
    }
}

删除比较简单,只是注意我们请求的协议是delete协议。

再看head页面,汤城X品被删除了:

(本文出自oschina的博主happybks的博文:https://my.oschina.net/happyBKs/blog/1795966)

删除索引

接下来我们再来看如何删除索引。

删除索引两个方法,一个和刚才一样,通过restful API删除ES的索引;另一种是借助head插件的UI直接删除索引。

restful API删除ES的索引

我们先将house那个索引通过API删除。http://localhost:9200/house

协议delete

然后我们看head页面,house索引没了。它的分片和副本都不见了。

Head插件直接删除

我们点击head页面上索引的下方的动作按钮,选择删除。

由于删除索引是比较危险的操作,他会将这个索引以及它下面的所有类型、所有文档全部删除。所以请非常小心,head插件也会提示让你确认,并需要按照要求写下“删除”,否则删不掉:

睡觉了,明天上班。

猜你喜欢

转载自my.oschina.net/happyBKs/blog/1795966