0

我的弹性搜索索引每秒将摄取数千个文档。将文档放入索引的服务不会创建新索引,而是仅在 nodejs 中获取当前数据并在“log-YYYY.MM.DD”中索引文档。因此,我们知道如果不存在索引会自动创建。

现在,我的问题是,考虑到索引每秒会摄取数千个文档,这种同时创建索引和放置文档的做法会导致性能问题或失败吗?

如果上述问题的答案是肯定的,我怎样才能创建一个滚动索引的日期作为索引名称?假设今天是 2021 年 5 月 5 日,所以我想以 log-2021.05.06 格式自动创建 2021 年 5 月 6 日的索引。

4

1 回答 1

0

对于您的第一个问题,可能这可以帮助 多少索引?

对于第二个问题,我认为您可以使用 index-alias 之类的

PUT /_index_template/logdate_template
{
   "index_patterns": [
        "log*"
    ],
    "priority": 1,
    "template": {
        "aliases": {
            "log":{}
        },
    "mappings": {
    //your mappings
    }
  }
  }
}

因为这里的 index_pattern 是“log*”,所以在你的应用程序代码中你可以有一个工作,它每天通过生成所需格式的日期并调用来创建索引

PUT log-YYYY.MM.DD

index-alias 的优点是:您只能使用“log”访问所有这些索引。

于 2021-05-06T13:04:28.710 回答