【Elasticsearch】查询并删除匹配文档之_delete_by_query

思路:先查询确认,后精准删除

假设我想删除title是”小明今晚真的不加班”这条记录,先查看一下现有的记录:

(不加班不好吗?为什么要删除呢?)

tips:可以使用 match_phrase精准查询,查询命令可以通过curl查询,也可以通过其他工具请求(其实道理都一样)

curl -X POST "http://192.168.16.65:9211/blog/_search" -H 'Content-Type: application/json' -d'
{
    "query": {
        "match_phrase": {
            "title": "小明今晚真的不加班"
        }
    }
}
'

blog为索引, _search为es的查询指令,查询结果如下:

{
    "took": 13,
    "timed_out": false,
    "_shards": {
        "total": 3,
        "successful": 3,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": {
            "value": 1,
            "relation": "eq"
        },
        "max_score": 110.28655,
        "hits": [{
            "_index": "blog",
            "_type": "_doc",
            "_id": "6a0d343fb629da2e2cdf6f4bf250af04",
            "_score": 110.28655,
            "_source": {
                "author": "程序员小明",
                "capture_time": 1583820020000,
                "content": "今晚可以终于可以王者荣耀带妹了",
                "title": "小明今晚真的不加班",
                "top_domain": "mynamecoder.com",
                "url": "http://blog.mynamecoder.com"
            }
        }]
    }
}

可以看到数据中有一条符合条件的文档,我们现在就要删除该文档。

删除 title为”小明今晚真的不加班”的文档(忍痛):

curl -X POST "http://192.168.16.65:9211/blog/_delete_by_query" -H 'Content-Type: application/json' -d'
{
  "query":{
    "match":{
      "title":"小明今晚真的不加班"
    }
  }
}
'

tips: 使用 _delete_by_query时,必须指定索引,此处 blog就是索引, _delete_by_query是elasticsearch的删除指令

删除结果:

{
  "took" : 147,
  "timed_out": false,
  "deleted": 1,
  "batches": 1,
  "version_conflicts": 0,
  "noops": 0,
  "retries": {
    "bulk": 0,
    "search": 0
  },
  "throttled_millis": 0,
  "requests_per_second": -1.0,
  "throttled_until_millis": 0,
  "total": 119,
  "failures" : [ ]
}

重点关注 total(查询到的条数)和 deleted(删除的总数)两个字段,最后不放心的话,可以再查询一下刚才那个文档是否还存在。

tips:es执行删除的时候es并不是立即删除,虽然我们再次查询已经找不到了,但es自身是将该文档先标记准备删除状态,一段时间后,异步删除。

Original: https://www.cnblogs.com/coderxx/p/12539949.html
Author: Coder小明
Title: 【Elasticsearch】查询并删除匹配文档之_delete_by_query

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/608973/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • spring 通过设置过滤器 解决请求参数乱码问题

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="h…

    Java 2023年6月7日
    045
  • Spring —Spring专题(一)

    Spring简介 1.1 什么是Spring spring是分层的java SE/EE应用full-stack(全栈)轻量级开源框架,以 IOC(Inverse Of Contro…

    Java 2023年6月5日
    082
  • 贪心算法

    贪心算法 文章目录 贪心算法 一、基本思路 二、代码 一、基本思路 1.建立数学模型来描述问题。2.把求解的问题分成若干个子问题。3.对每一子问题求解,得到子问题的局部最优解。4….

    Java 2023年6月5日
    088
  • Drools规则引擎实践直白总结

    Drools规则引擎,网上大把相关的文章介绍,但我感觉不够直白,理解有些困难,且知识点没有集中比较分散、有些还是早前版本的内容,对与新手来说上手可能比较慢,而且比较容易走弯路,故我…

    Java 2023年6月9日
    055
  • 反射和注解

    1.1 类加载 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,类的初始化这三个步骤来对类进行初始化。如果不出意外情况,JVM将会连续完成这三个步…

    Java 2023年6月6日
    090
  • Future源码一观-JUC系列

    背景介绍 在程序中,主线程启动一个子线程进行异步计算,主线程是不阻塞继续执行的,这点看起来是非常自然的,都已经选择启动子线程去异步执行了,主线程如果是阻塞的话,那还不如主线程自己去…

    Java 2023年6月13日
    081
  • 参与开源项目很难吗?

    hello大家好,我是小楼。 流量真是个让人捉摸不透的东西,有时候写了一篇自己感觉牛的不行的文章,结果阅读数据惨淡,有时候觉数据可能没那么好的文章,实际数据却出乎意料。 之前的文章…

    Java 2023年6月6日
    077
  • android 编译错误

    A problem occurred configuring root projectCould not resolve all artifacts for configurati…

    Java 2023年6月7日
    0145
  • SpringBoot实现自定义路由覆盖

    背景 公司最近有一个项目二期需要对一些功能进行改造,涉及部分框架内置业务接口个性化定制,兼容老接口功能并且增加一部分新的数据返回,由于前端调用这些接口分布较多且较为零碎,修改测试成…

    Java 2023年6月15日
    076
  • SpringBoot项目Maven打包提示程序包不存在

    提示不存在的原因是 父工程中,创建生成的pom.xml中有着这样的build ,解决办法: 把这个build中的 或者改为这样的 重新打包解决 Original: https://…

    Java 2023年6月9日
    052
  • Spring配置 bean

    在 xml 文件中通过 bean 节点来配置 beanid:Bean 的名称。在 IOC 容器中必须是唯一的若 id 没有指定,Spring 自动将权限定性类名作为 Bean 的名…

    Java 2023年5月30日
    092
  • Spring Cloud Feign+Hystrix自定义异常处理

    开启Hystrix spring-cloud-dependencies Dalston版本之后,默认Feign对Hystrix的支持默认是关闭的,需要手动开启。 feign.hys…

    Java 2023年6月6日
    0105
  • JAVA学习过程记录(七)

    1.访问控制权限 范围从大到小排序: public >protected > 默认 > private 访问控制权限可以修饰什么? 属性(4个都能用) 方法(4个…

    Java 2023年6月7日
    076
  • 学习完nio的一个小笔记吧

    这是一个nio网络通信服务端的demo,主要就学习了selector的一些用法,以及它里面的事件类型 selector是对nio的一个优化,它能保证既能高效处理线程中的事件,又能保…

    Java 2023年6月15日
    085
  • BP神经网络– C语言实现 上

    在上一篇文章中,介绍了BP神经网络的基本模型、模型中的一些术语并对模型进行了数学上的分析,对它的原理有了初步的认识。那么如何用程序语言来具体的实现它,将是我们下一步需要讨论的问题。…

    Java 2023年6月15日
    0107
  • Java 之 String 类型

    因为对象的默认值是null,所以String的默认值也是null;但它又是一种特殊的对象,有其它对象没有的一些特性。 首先String不属于8种基本数据类型(byte, char,…

    Java 2023年5月29日
    065
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球