当前位置: 首页 > 知识库问答 >
问题:

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

轩辕鸿
2023-03-14

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

POST {INDEX}/_delete_by_query
{
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "type": "box_views"
          }
        },
        {
          "query": {
            "range": {
              "@created_at": {
                "gte": "now-3h"
              }
            }
          }
        }
      ]
    }
  }
}

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

{"错误":{"root_cause": [ { "类型":"parsing_exception","原因":"无[查询]注册[查询]","line": 1,"col":66 } ], "type":"parsing_exception","原因":"无[查询]注册[查询]","line":1,"col":66},"status":400}

共有1个答案

颛孙钱青
2023-03-14

您的查询应该如下所示:

POST {INDEX}/_delete_by_query
{
  "query": {
    "bool": {
      "must": [
        {
          "term": {
            "type": "box_views"
          }
        },
        {
          "range": {
            "@created_at": {
              "gte": "now-3h"
            }
          }
        }
      ]
    }
  }
}

此外,如果您正在寻找旧文档,我认为您应该使用lte而不是gte

 类似资料:
  • 如何使用嵌套库在弹性搜索中仅删除嵌套对象而不删除索引。 在上面的映射中,我想删除模型的一个条目,而不删除整个索引。 我尝试使用DeleteByQuery删除,但它会删除整个Make索引。

  • 这是回应的一部分 我有联系人号码和名字 现在我的第二个查询->我正在使用术语筛选器查询上面的联系电话

  • 我是ES新手,正在努力解决嵌套聚合问题。这是我的虚拟数据对象([这是我的数据对象][1][1]:https://i.stack.imgur.com/X7oaM.png). 我只是想把“现代”领域的成本降到最低。 我已经阅读了以下关于我试图解决的问题的帖子。他们都没有帮助我解决问题 -弹性搜索6嵌套查询聚合-https://www.elastic.co/guide/en/elasticsearch/

  • 如果搜索字符串和目标对象最后有以下任何字符,那么它就不起作用。s y e 在我们的应用程序中,如果用户名为Granny,Smith。它没有搜索奶奶的任何记录,因为它以y结尾。s和e的情况也是如此,即詹姆斯、凯蒂。

  • 我正在使用聚合来根据其他字段的总和对一个字段进行分组。 它正在工作,但输出与我从数据库查询得到的结果不相似。 ES查询: 输出: "domain_agg":{"doc_count_error_upper_bound": 9,"sum_other_doc_count": 1442,"存储桶": [ { "key":"doc_count","doc_count": 2,"domain_store_co

  • Elasticsearch版本():5.2.2 JVM版本():1.8.0_121 OS版本(如果在类UNIX系统上):opensuse 使用“curl-xget'localhost:9200/_search?pretty&timeout=1ms'”进行搜索 响应部分为:{“Take”:5,“timed_out”:false,“_shards”:{“total”:208,“successed”:2

  • 尝试排除其中一个子文档与查询不匹配的顶级文档。 对于下面的示例,我试图排除其中一个嵌套作业具有并且与匹配的所有文档。但是,由于其中一个嵌套作业文档与和公司匹配,因此返回此文档。我使用的是一个嵌套查询,其中公司名称必须匹配,并且过滤器的当前值为false。我如何才能使以下文件不被退回?

  • 我已经测试了elastic search highlight field函数,它运行良好。我使用了elastic search 2.4.4和spring-data-elasticsearch-2.0.0.RELEASE 示例代码在下面的帖子中 如何使用Spring data elasticsearch提供高亮显示 我最近将elastic search升级到5.5.0和spring-data-ela