0

知识中心阅读时,提到以下内容:

TTL 属性不适用于分析平台中已存在的数据。您必须在添加数据之前设置 TTL 属性。

那么如何在设置这些属性之前删除现有日志呢?

4

1 回答 1

4

您必须使用 Elastic Search 删除 API 从 Worklight Analytics 中删除现有文档。

在使用任何 Elastic Search 删除 API 之前,建议先备份您的数据,因为滥用 API 或不希望的查询将导致永久数据丢失。

下面是一个示例,说明如何在指定日期范围内删除客户端日志,假设您的 Elastic Search 实例在http://localhost:9500. 此特定示例删除 2014 年 10 月 1 日至 10 月 15 日之间的所有客户端日志。

curl -XDELETE 'http://localhost:9500/worklight/client_logs/_query' -d
'
    {
        "query": {
            "range": {
                "timestamp": {
                    "gt" : 1412121600000,
                    "lt" : 1413331200000
                }
            }
        }
    }
'

您可以使用路径删除任何类型的文档http://localhost:9500/worklight/{document_type}。文档的类型是 app_activities、network_activities、notification_activities、client_logs 和 server_logs。

删除文档时,您可以过滤两个属性:“timestamp”或“daystamp”,它们都以纪元时间(以毫秒为单位)表示。请注意,“daystamp”只是给定日期的第一个时间戳(即 12:00AM)。范围查询还接受以下参数:

  • gte - 大于或等于
  • gt - 大于
  • lte - 小于或等于
  • lt - 小于

有关更多信息,请参阅 Elastic Search 删除和查询 APIS:

于 2014-10-28T18:47:44.420 回答