elasticsearch 弹性搜索TTL不工作,elasticsearch,ttl,elasticsearch,Ttl" /> elasticsearch 弹性搜索TTL不工作,elasticsearch,ttl,elasticsearch,Ttl" />

elasticsearch 弹性搜索TTL不工作

elasticsearch 弹性搜索TTL不工作,elasticsearch,ttl,elasticsearch,Ttl,我使用elasticsearch来搜索日志,我不想使用每日索引来删除cron作业中的日志,而是使用TTL。我已经激活并设置了TTL值:30s。当我发送此操作时,我有一个成功的答案,当我执行映射请求时,我可以看到TTL值(以毫秒为单位)。 一切似乎都很好,但文件不会被删除 _映射: { "logs" : { "webservers" : { "_ttl" : { "default" : 30000

我使用elasticsearch来搜索日志,我不想使用每日索引来删除cron作业中的日志,而是使用TTL。我已经激活并设置了TTL值:30s。当我发送此操作时,我有一个成功的答案,当我执行映射请求时,我可以看到TTL值(以毫秒为单位)。 一切似乎都很好,但文件不会被删除

_映射:

{
    "logs" : {
        "webservers" : {
            "_ttl" : {
                "default" : 30000
            },
            "properties" : {
                @timestamp" : {         
                    "type" : "date",
                    "format" : "dateOptionalTime" 
                }
            }
        }
    }
}

我想您只需要为您的类型启用_ttl,这在默认情况下是禁用的。看一看


索引某些数据后,get映射返回什么?
\u ttl
是否与您索引的其他字段一起?顺便问一下,您是否在使用logstash?映射命令返回{“\uttl”:{“default”:30000}…与其他字段。是的,我正在使用logstach by,我不想每天都有一个新的索引。我只是测试了它,它对我起了作用。我注意到一件事:get mapping api使我返回启用状态:同样正确。你确定elasticsearch当前消化了json的一部分吗?可能有输入错误?还有一件事:你正在用h logstash在您自己的索引中,您是如何做到这一点的?您是对的,我在启用此功能时遇到了一个问题,因为当我将“enabled”设置为true或false时,get-mapping总是返回相同的结果:仅返回TTL值。要创建索引,我只需将索引名“logstash-%”替换为“logs”.作为信息,我使用Kibana查看我的日志,他工作正常(他需要日志存储格式)谢谢你提供的信息!让我知道我还能为你做些什么;)嗯,我很奇怪。为了确保我对logstash的修改不会影响ES的TTL功能的工作,我已经删除了她,并使用logstash的默认配置创建索引。我一直都有相同的问题。我设置了TTL,即查询返回s“true”,但它不起作用。get映射只给我TTL的值,而没有给我他的状态(enabled:true/false)。我也有同样的问题。我的查询
puthttp://localhost:9200/test/record/_mapping
with data
{“record”:{“\u ttl”:{“enabled”:true,“default”:“60s”}}
仅返回ttl值。因此它不起作用。
{
    "webservers" : {
        "_ttl" : { "enabled" : true, "default" : "30s" }
    }
}