我的集群中有1000个按天(基于时间)的索引。有没有办法在es服务器端监视或找出哪些索引 contain hits
当查询使用 alias
. e、 g.考虑我的客户提出的以下问题:
GET index_alias/_search?q=Product_Serial_Num:ABCD
别名 index_alias
Map到所有 day-wise indices
在es 6.8.6集群中 1200
. 原因是查询是用来获取历史记录的 Product_Serial_Num
. 因此,不可能事先知道哪一天的指数会有数据。这就是 index_alias
已Map到 all indices
. 当客户启动上面的查询时,我想在es服务器端监视它并找出 indices
当查询命中它们时实际返回数据。有没有办法在不修改客户端任何内容的情况下确定这一点?
这样做的目的是找出“哪些指数”受到的冲击最大,比如 last-n-days (30, 60, 90)
然后相应地应用hot-warm体系结构,比如在热节点上有最近60天的索引,在热节点上休息。
或者如果有更好的方法来确定,请分享。
谢谢。
2条答案
按热度按时间epggiuax1#
您应该已经在每个命中元数据中获得了有关索引的信息。请看下面的示例响应:
在上面的响应中,您可以看到每个命中都包含元字段,其中一个这样的字段是
_index
. 此字段的值是找到文档的索引的实际名称(不是别名)。你可以根据需要使用这些信息。另一种查找别名当前指向哪个索引的方法是使用get alias api。
样本响应:
上面的响应提供了有关
test_alias
.fquxozlt2#
完成@opster es忍者答案。您可以使用\u stats api获得所需的部分信息
在搜索部分,对于每个索引,您将能够知道wish索引是最常用的