2015-10-17 113 views
0

Elasticsearch新手。elasticsearch查询最新索引

我想查询最新的索引。 每天logstash都会使用命名约定创建新的索引,如:our_sales_data - %{dd-mm-yyyy}%或其他非常接近的内容。硒我最终有很多指标,如:

我们-SALES_DATA-14-09-2015
我们的销售数据-15-09-2015
我们的销售数据,16-09- 2015

等等。

我需要能够查询最新的索引。显然,我可以查询和检索名称中的'我们的销售数据*'的所有索引..但我只想返回最新的一个,没有其他。

可能吗?

+0

我能想到的唯一方法是查询索引列表 - http:// localhost:9200/_aliases - 然后从这里解析索引名称,返回最大值。目前没有专门的API列出索引,而ES没有真正的概念来说明索引名称如何应用于日期等等。 –

回答

0

那么首选的方法是通过解析our_sales_data - %{dd-mm-yyyy}%中的日期来计算客户端的最新索引名称。

另一种解决方案是运行排序查询并获取最新的文档之一。您可以从文档的索引名称推断索引。

{ 
    "size": 1, 
    "sort": { 
    "@timestamp": { 
     "order": "desc" 
    } 
    } 
} 
0

我们有一个搜索别名和一个写别名。写入别名在技术上总是最新的,直到我们将其翻转并添加一个新的别名为止。

我们的搜索别名包含所有以前的索引加上最新的索引(也在写)。

你能做这样的事情,然后只是查询写别名?