美文网首页
Elasticsearch官档翻译——4.2 索引名日期格式支持

Elasticsearch官档翻译——4.2 索引名日期格式支持

作者: code4j | 来源:发表于2018-03-11 23:24 被阅读234次

索引名日期格式支持

索引名日期格式允许你搜索一系列时间序列格式的索引,而不用搜索全部的索引然后过滤结果,或者使用别名。限制搜索的索引个数可以降低集群负载提高搜索性能。例如如果你要从你每天的日志中搜索错误信息,你可以使用日期格式索引名模板限制搜索过去两天的索引。

日期计算索引名格式如下:

<static_name{date_math_expr{date_format|time_zone}}>

说明:

  • static_name:索引名静态部分
  • date_math_expr:动态日期表达式,用来动态计算日期的。
  • date_format:供时间计算的日期格式,默认格式YYYY.MM.dd
  • time_zone:时区,默认是utc

你需要用尖括号把日期格式索引名包括起来,例如:

curl -XGET 'localhost:9200/<logstash-{now%2Fd-2d}>/_search' {
"query" : {
...
}
}

注意:括号中的/符号必须用Url 编码%2F代替。

下面的例子展示了不同格式的日期格式索引,当前的日期为2024年3月22日晚上,时区utc。

表达式 解析结果
<logstash-{now/d}> logstash-2024.03.22
<logstash-{now/M}> logstash-2024.03.01
<logstash-{now/M{YYYY.MM}}> logstash-2024.03
<logstash-{now/M-1M{YYYY.MM}}> logstash-2024.02

在索引名静态部分使用{}作为模板,使用反斜杠/转义它们。例如:

  • <elastic\{ON\}-{now/M}> 转换成 elastic{ON}-2024.03.01

下面的例子,搜索三天内Logstash的索引,假设我们的索引名格式为:logstash-YYYY.MM.dd

curl -XGET 'localhost:9200/<logstash-{now%2Fd-2d}>,<logstash-{now%2Fd-1d}>,<logstash-{now%2Fd}>/_search' {
"query" : {
...
}
}

相关文章

网友评论

      本文标题:Elasticsearch官档翻译——4.2 索引名日期格式支持

      本文链接:https://www.haomeiwen.com/subject/owesfftx.html