Elasticsearch Realtime GET支持

当我在ES中为文档建立索引时,我试图在刷新间隔内访问同一文档,并且搜索未返回结果。是否有Realtime

GET支持,无论索引的“刷新率”如何,该支持都可以使文档一旦建立索引。我尝试将refresh_interval减小为500ms,而不是1s,但是我的搜索查询甚至在500ms之前就发生了,进一步减小它不是一个好主意。

回答:

为文档建立索引后,您可以立即获取它,而无需等待刷新间隔。

该GET

API是实时的

因此,如果您像这样索引新文档

POST index/type/1

{ "name": "John Doe" }

您可以立即获取它,而无需等待使用

GET index/type/1

但是,如果您进行搜索,则需要等待刷新间隔过去才能检索新文档或调用刷新API。

为了完整起见,值得一提的是,在建立索引时,您还可以选择通过传递如下所示的参数立即刷新分片refresh=true。但是请注意,这可能会对性能造成不良影响,因此应谨慎使用。

POST index/type/1?refresh=true

{ "name": "John Doe" }

同样值得注意的是,在ES 5中,您可以选择让ES

等待刷新,然后再从create调用返回:

POST index/type/1?refresh=wait_for

{ "name": "John Doe" }

在这种情况下,一旦POST请求返回,就可以确保在下一个搜索调用中可以使用新文档。

以上是 Elasticsearch Realtime GET支持 的全部内容, 来源链接: utcz.com/qa/429279.html

回到顶部