Indexing Elasticsearch:自动索引删除/到期
我想将elasticsearch 0.19.11配置为每60秒删除一次索引。我的elasticsearch配置有以下3行:Indexing Elasticsearch:自动索引删除/到期,indexing,elasticsearch,logstash,Indexing,elasticsearch,Logstash,我想将elasticsearch 0.19.11配置为每60秒删除一次索引。我的elasticsearch配置有以下3行: node.name: "Saurajeet" index.ttl.disable_purge: false index.ttl.interval: 60s indices.ttl.interval: 60s 而且它不起作用 我有2个默认文档索引。而且预计它会在60岁以后出现 $ curl -XGET http://localhost:9200/twitter/_setti
node.name: "Saurajeet"
index.ttl.disable_purge: false
index.ttl.interval: 60s
indices.ttl.interval: 60s
而且它不起作用
我有2个默认文档索引。而且预计它会在60岁以后出现
$ curl -XGET http://localhost:9200/twitter/_settings?pretty=true
{
"twitter" : {
"settings" : {
"index.version.created" : "191199",
"index.number_of_replicas" : "1",
"index.number_of_shards" : "5"
}
}
另外,如果我试图做以下事情,它没有任何效果
$ curl -XPUT http://localhost:9200/twitter/_settings -d '
> { "twitter": {
> "settings" : {
> "index.ttl.interval": "60s"
> }
> }
> }
> '
{"ok":true}~/bin/elasticsearc
$ curl -XGET http://localhost:9200/twitter/_settings?pretty=true
{
"twitter" : {
"settings" : {
"index.version.created" : "191199",
"index.number_of_replicas" : "1",
"index.number_of_shards" : "5"
}
}
}
我有2个文档索引,1小时后仍然显示
$ curl -XPUT 'http://localhost:9200/twitter/tweet/1' -d '
{
"user": "kimchy",
"postDate": "2009-11-15T13:12:00",
"message": "Trying out Elastic Search, so far so good?"
}'
$ curl -XPUT 'http://localhost:9200/twitter/tweet/2' -d '
{
"user": "kimchy",
"postDate": "2009-11-15T13:12:00",
"message": "Trying out Elastic Search, so far so good?"
}'
我做错了什么
另外,我想用logstash部署这个配置。因此,可以提出任何其他替代方案。
出于缩放原因,我不希望此自动敦促成为脚本。我相信index.ttl.interval设置只是为了调整清理过程的计时 您需要为索引/类型设置_ttl字段以使其过期。看起来是这样的:
{
"tweet" : {
"_ttl" : { "enabled" : true, "default" : "60s" }
}
}
我终于明白了。已将elasticsearch版本升级至1.2.0。您可以从。->->输入TTL 在索引的类型级别启用TTL
$ curl -XPOST http://localhost:9200/abc/a/_mapping -d '
{
"a": {
"_ttl": {
"enabled": true,
"default": "10000ms"
}
}
}'
$ curl -XPOST http://localhost:9200/abc/a/a1 -d '{"test": "true"}'
$ $ curl -XGET http://localhost:9200/abc/a/a1?pretty
{
"_index" : "abc",
"_type" : "a",
"_id" : "a1",
"_version" : 1,
"found" : true,
"_source":{"test": "true"}
}
$ # After 10s
$ curl -XGET http://localhost:9200/abc/a/a1?pretty
{
"_index" : "abc",
"_type" : "a",
"_id" : "a1",
"found" : false
}
注:
- 映射适用于创建映射后创建的文档李>
- 还为类型a创建了映射。所以,如果你发布到类型b和 期待它在TTL上过期,那是不会发生的