是否可以在elasticsearch rest api主体中使用表达式?我知道您可以在rest查询字符串中使用日期数学表达式,但在rest请求体中似乎找不到这样的示例。
我的目标是创建一个ilm策略和索引模板,该模板将滚动索引并考虑索引名称上日期的每日更改。索引名称的一个例子是index-2020.12.17
PUT /_index_template/index_template
{
"index_patterns": ["%3Cindex-%7Bnow%2Fd%7D%3E"],
"template": {
"settings": {
"number_of_shards": 1,
"number_of_replicas": 1,
"index.lifecycle.name": "index_policy",
"index.lifecycle.rollover_alias": "%3Cindex-%7Bnow%2Fd%7D%3E"
},
"aliases": {
"%3Cindex-%7Bnow%2Fd%7D%3E": {
"is_write_index": true
}
}
}
2条答案
按热度按时间w80xi6nr1#
这不是ilm的工作方式。
index_patterns
应该只使用与索引名匹配的通配符rollover_alias
应该是应用程序写入的常量字符串你不需要定义任何
alias
要使ilm发挥作用rollover_alias
是给你的。因此,您的索引模板定义应该如下所示:
然后可以使用以下命令引导初始索引:
然后您的客户机应用程序(filebeat、logstash等)可以简单地将它们的数据发送到
index-write
所有的滚动都是由你在index_policy
生命周期策略。从7.9开始,有一种更简单的方法使用数据流,它不需要像上面那样进行任何引导。您只需创建索引模板,如下所示:
然后你可以像这样简单地索引你的数据
在场景后面,数据流索引将根据
index_policy
生命周期策略。e3bfsja22#
在restapi中可以有日期数学表达式,有关更多信息,您可以在这里查看es官方文档https://www.elastic.co/guide/en/elasticsearch/reference/current/date-math-index-names.html.
对于ilm策略,您可以在此处找到信息https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-index-lifecycle-management.html