我想检索有关我的 elasticsearch 数据库中所有可用索引的信息。为此,我向“<elasticsearch_endpoint>/logs-cfsyslog-*/_search/?format=json”发送了一个请求。
请求的正文与此问题无关。我只是简单地过滤一个字段的特定值。我希望 api 返回过去 30 天的所有索引。但是,我只收到一些可用的档案。缺少的一些是:3 月 3 日、2 月 11 日至 17 日和 2 月 26 日至 27 日。
但是,当我通过“<elasticsearch_endpoint>/_cat/indices/logs-cfsyslogs-*”使用“_CAT”API 检索所有可用索引时,我可以看到我期望的所有索引。
我什至可以通过“<elasticsearch_endpoint>/logs-cfsyslog-2022.03.03/_search/?format=json”在搜索 API 中指定我要查找的确切日期,API 将返回我指定的索引。
那么,当我在搜索请求中使用通配符“*”时,elasticsearch 为什么或如何不返回例如 2022 年 3 月 3 日的索引?