ElasticSearch查询使用今天的日期指定索引名称

时间:2018-01-15 09:22:15

标签: elasticsearch logstash kibana timelion

我正在使用logstash在ES中使用许多计算机上的实时服务中的许多指标来填充ES。 Logstash每天创建一个新索引,我发现在不指定索引的情况下查询ES,运行缓慢。 (我目前维持5天的指标)。如果我指定特定的索引,例如今天

.es(index=logstash-2018.01.15, q= examplequery

它运行得非常快 有没有办法可以使用日期字段指定今日索引?

例如

.es(index=logstash-'get date', q= examplequery

2 个答案:

答案 0 :(得分:2)

您可以使用该查询获取今天日期的索引:

 .es(index='<logstash-{now/d}>')

一个有趣的读物,其中包含弹性搜索中可用的所有选项,以在索引名称中包含日期数学:

https://www.elastic.co/guide/en/elasticsearch/reference/current/date-math-index-names.html

答案 1 :(得分:0)

通过查看语法,我猜你正在使用Timelion或使用查询字符串的东西。这里有一个很好的教程,包括指定索引模式:
https://www.elastic.co/blog/timelion-tutorial-from-zero-to-hero
在你的情况下它将是

.es(index=logstash-*, q= examplequery

.es(index=logstash-2018.01.*, q= examplequery

如果您今年1月需要,且索引模式为'logstash -YYYY.MM.dd'