对于我们当前的搜索引擎实现,我们做了如下操作:
- 按日期范围搜索
from
to
(按@timestamp
) - 通过某个前缀获取所有索引(例如
technical-logs*
) - 仅过滤出应用范围
from
to
的那些索引(例如,如果from=20230101
和to=20230118
,则我们选择那些具有前缀technical-logs-yyyyMMdd
的范围中的所有索引)
看起来数据流对我们是有益的。我发现的问题是,所有由数据流创建的索引在默认情况下都是隐藏的,所以我无法看到它们(默认情况下),因此我无法只查询那些我感兴趣的索引(从到)。
是否有一些简单的机制,我们可以只选择我们想要的索引,或者ES有一些功能?我知道有@timestamp
字段,但我不知道这是否也被用来过滤掉只包含给定日期的索引。
1条答案
按热度按时间nfg76nw01#
这就是数据流的意义所在,也就是说,您不需要知道要查询哪些索引,只需查询数据流(例如别名)或其子集
technical-logs*
,ES将确保只查询满足约束(从/到时间间隔等)的底层索引时间序列数据流使用时间绑定索引。然后,这些后备索引中的每一个都按
@timestamp
排序,以便在搜索特定时间间隔时,ES将仅查询相关的后备索引。