美文网首页
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