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

使用NestJs删除旧的elasticsearch索引

狄冠宇
2023-03-14

绿色打开ab_namespacename_namespaceid_appName_appId-2019.02.13 5 1 540 0 1.2mb 617kb我有很多上面格式的日志,我想删除旧日志(比如超过5天的日志),方法是@time戳(在上面的日志(2019.02.13))范围内)。我已经通过查询进行了删除日志的查询。

让查询={index: '*', 标头:null,正文:{query:{filter:{'@time戳':{'gte':'now-5d', }, }, }, }, }; try{结果=等待this.elasticSearchClient.deleteByQuery(查询);console.log('结果',结果);返回结果;}catch(e){抛出新的LogHubException(e.message, Httpstatus.NOT_FOUND);我得到了以下错误:

<代码>[解析\u异常]没有为[@时间戳]注册的[查询],且{行=1

注意:我使用NestJS调用elasticsearch api,并使用elasticsearch[6.4]。我不想使用elasticsearch策展人。

共有1个答案

鲜于煜祺
2023-03-14

您的查询应如下所示:

{
  "query": {
    "range": {
      "@timestamp": {
        "gte": "now-5d"
      }
    }
  }
}

相应地更新NestJS代码中的更改。

 类似资料:
  • 我们正在使用AWS弹性搜索日志。日志通过Logstash连续流式传输。定期删除旧索引的最佳方法是什么? 我搜索了一下,推荐的各种方法有: > 使用lambda删除旧索引-https://medium.com/@egonbraun/perioadly-cleaning-ellasticsearch-indexes-using-aws-lambda-f8df0ebf4d9f 使用计划的docker容器

  • 问题内容: 我的许多日志都以logstash-Year- Week格式编制索引。那就是如果我想删除超过几周的索引,如何在elasticsearch中实现。有没有简单,无缝的方法可以做到这一点? 问题答案: 策展人将是这里的理想之选。您可以在这里找到链接-https: //github.com/elastic/curator 如下所示的命令应该可以正常工作- 您可以将其保留在CRON中,以偶尔删除索

  • 我正在尝试使用curator python API定期删除elasticsearch中的旧日志。在我的代码输出中,似乎我无法过滤我想要的索引,这让我陷入了几天的困境。如果我做错了什么,谁能帮我看看?我使用了elasticsearch curator版本5.4.1,并在EC2、aws elasticsearch 5.5和aws elasticsearch 6.0上测试了elasticsearch 5

  • 我想删除来自logstash的弹性搜索中的旧日志。 我读过关于馆长可以用来删除这个。 但它总是指出,它将删除比这么多天都旧的指数。如果我执行它,它真的会删除我的索引吗?或者只是那个特定索引中的旧日志。 我有自定义索引,如a、b、c等。我的索引中没有时间字符串参数。 策展人删除索引-早于14-时间单位天-时间字符串%Y.%m.%d-regex'^logstash-' 如何执行删除这些格式的索引。?

  • 如何在不删除索引映射的情况下从elasticsearch数据库中删除数据? 我是Tire gem,使用删除命令删除我所有的映射并再次运行创建命令。我想避免创建命令一次又一次地运行。 请帮我解决这个问题。

  • 问题内容: 我使用以下crontab记录来每天备份数据库: 我想添加另一个crontab记录,该记录将删除早于一个月的数据库转储。 有什么想法吗? 问题答案: 只需创建另一个cron: 它将查找所有早于30天的备份并将其删除。