代码之家  ›  专栏  ›  技术社区  ›  Tom

我必须手动运行滚动以使新文档转到新索引

  •  0
  • Tom  · 技术社区  · 5 年前

    我使用的是ES7.10.2,下面是一个简单的片段,用于演示滚动api的用法。

    但我发现我必须逃跑 logs-write/_rollover 手动使翻转工作。我想问一下如何自动翻车。

    PUT _template/logs
    {
      "template": "logs-*",
      "settings": {
        "number_of_shards": 5,
        "number_of_replicas": 1
      },
      "aliases": {
        "logs-search": {}
      }
    }
    
    PUT logs-000001
    {
      "aliases": {
        "logs-write": {
          "rollover": {
            "conditions": {
              "max_age": "60s",
              "max_docs": 2
            }
          }
        }
      }
    }
    
    
    
    POST logs-write/_doc/1
    {
      "user": "kimchy",
      "post_date": "2009-11-15T14:12:12",
      "message": "trying out Elasticsearch"
    }
    
    
    
    POST logs-write/_doc/2
    {
      "user": "kimchy2",
      "post_date": "2009-11-15T14:12:12",
      "message": "trying out Elasticsearch1"
    }
    
    POST logs-write/_doc/3
    {
      "user": "kimchy3",
      "post_date": "2009-11-15T14:12:12",
      "message": "trying out Elasticsearch1"
    }
    
    #Before I run the logs-write/_rollover logs-000002 index doesn't exist,which means auto rollover doesn't work
    POST logs-write/_rollover
    {
      "conditions": {
        "max_age": "5s",
        "max_docs": 2,
        "max_size": "5mb"
      }
    }
    
    #id 4 document goes to the logs-000002 index, which means that rollover has taken effect
    POST logs-write/_doc/4
    {
      "user": "kimchy4",
      "post_date": "2009-11-15T14:12:12",
      "message": "trying out Elasticsearch1"
    }
    
    
    0 回复  |  直到 5 年前
        1
  •  1
  •   Val    5 年前

    默认情况下,滚动过程每10分钟运行一次,因此您需要确保让它有机会运行。

    您可以更改 indices.lifecycle.poll_interval 如果要测试,请将其设置为较低的值。