删除超过一小时的文档在弹性搜索中不起作用

Posted

技术标签:

【中文标题】删除超过一小时的文档在弹性搜索中不起作用【英文标题】:Delete document older than One hour is not working in elasticsearch 【发布时间】:2019-06-28 06:49:44 【问题描述】:

我是 elasticsearch 新手,我在 elasticsearch 中有一个文档,文档包含大量用户视图,现在我想删除那些超过 3 小时的视图,为此我在 elasticsearch 中编写了以下查询

POST INDEX/_delete_by_query

  "query": 
    "bool": 
      "must": [
        
          "term": 
            "type": "box_views"
          
        ,
        
          "query": 
            "range": 
              "@created_at": 
                "gte": "now-3h"
              
            
          
        
      ]
    
  

当我执行此查询时,我收到以下错误

“错误”: “根本原因”: [ “类型”:“解析异常”, "reason": "没有为 [query] 注册 [query]", “线”:1, “科尔”:66 ], “类型”:“解析异常”, "reason": "没有为 [query] 注册 [query]", “线”:1, “col”:66 ,“状态”:400

【问题讨论】:

【参考方案1】:

您的查询应如下所示:

POST INDEX/_delete_by_query

  "query": 
    "bool": 
      "must": [
        
          "term": 
            "type": "box_views"
          
        ,
        
          "range": 
            "@created_at": 
              "gte": "now-3h"
            
          
        
      ]
    
  

此外,如果您要查找较旧的文档,我认为您应该使用 lte 而不是 gte

【讨论】:

以上是关于删除超过一小时的文档在弹性搜索中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

cron作业中的Rails类方法在弹性beantalk中不起作用

光滑的滑块在弹性容器中不起作用

使用弹性框的居中按钮在 IE 中不起作用 [重复]

记住我功能在 Symfony2 中不起作用

DeleteAsync 方法在 Azure 人脸识别服务中不起作用

SetTimeout 在 Mongoose 模式后中间件中不起作用