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