elasticsearch 在OpenSearch中按日期范围过滤索引

0ve6wy6x  于 2023-05-06  发布在  ElasticSearch
关注(0)|答案(1)|浏览(240)

我使用这个端点来获取索引:

{{OPENSEARCH_ENDPOINT}}/_cat/indices?h=h,s,i,id,p,r,dc,dd,ss,creation.date.string

结果:

green open fluent-bit-2023.04               nA-VlnELTL2igAroKB0CuQ 5 1   487819     0 247.3mb 2023-04-01T00:00:00.324Z
green open fluent-bit-2023.02               YL9re7_mR06td3gH3p3vlg 5 1   178616     0 106.3mb 2023-02-24T07:31:28.508Z
green open fluent-bit-2023.03               ebnxgf2JQQCh4PKpyKIAqA 5 1  2512232     0   1.4gb 2023-03-01T00:00:00.199Z

我如何根据日期过滤它。我想获取2个日期范围之间创建的所有索引。我试过使用curl,但它不起作用:

curl -X GET "http://BASE_URL/_cat/indices/?v&s=index&pretty" --header "Content-Type:application/json" -d'
> {
>   "query": {
>     "bool": {
>       "must": [
>         {
>           "range": {
>             "creation.date.string": {
>               "gte": "2023-03-15",
>               "lte": "2023-03-16"
>             }
>           }
>         }
>       ]
>     }
>   }
> }'
eit6fx6z

eit6fx6z1#

目前,在OpenSearch上没有这样做的选项。我建议使用其他方法获取响应并对其进行过滤。
或者,对于粒度不太细的搜索,可以使用别名。例如,如果将以下别名添加到索引:

fluent-bit-2023.04 -> fluent-bit-2023-04-01
fluent-bit-2023.02 -> fluent-bit-2023-02-24
fluent-bit-2023.03 -> fluent-bit-2023-03-01

然后使用通配符搜索2023年3月的索引,如下所示:

{{OPENSEARCH_ENDPOINT}}/_cat/indices/fluent-bit-2023-3-*?h=h,s,i,id,p,r,dc,dd,ss,creation.date.string

相关问题