在Elasticsearch中获取所有打开的搜索(时间点)



为了每次创建一个新点,我们执行

POST /my-index-000001/_pit?keep_alive=1m

输出:

{
"id": "46ToAwMDaWR5BXV1aWQyKwZub2RlXzMAAAAAAAAAACoBYwADaWR4BXV1aWQxAgZub2RlXzEAAAAAAAAAAAEBYQADaWR5BXV1aWQyKgZub2RlXzIgAAAAA=="
}

它将返回PIT ID。

现在,为了获得打开搜索的总数,我们进行

GET /_nodes/stats/indices/search

并且输出具有

"open_contexts" : 18,

正如Elastic所说,我们应该在工作完成后关闭/删除PIT。关闭时间点

现在的问题是:

  1. 我们如何获得所有开放搜索或PIT的ID
  2. 如果我们无法获得ID,有没有办法在一段时间后关闭搜索,或者在保活时间结束后自动关闭搜索

我找不到任何与此相关的文档。

无法检索打开的搜索上下文的ID,您应该在应用程序代码中跟踪它们。

正如您提供的链接所述:

当时间点的keep_alive结束时,时间点会自动关闭。

因此,在您的情况下,如果您在1分钟后没有发出新查询,则搜索上下文将自动关闭。

最新更新