多久从得到upserted进入ES文件才可以被搜索对正确服用?(How long does it t

2019-10-29 06:21发布

我使用ES检索数据,这是我改变和更新早在ES接着做同样的搜索查询 - 它看起来像我并不总是得到更新的文档回落,并有等待一两秒钟。

使用下面的代码:

esClient.Update<TESDocModel, TESDocModel>(new DocumentPath<TESDocModel>(docId), u => u.Index(index).Doc(toUpdate).DocAsUpsert(true));

这是正确的行为或者出现文档立即搜索后upsertdocument操作完成?

Answer 1:

这取决于当执行的碎片刷新行动。 当文档被索引立即不可搜索。 为了使被执行在碎片搜索的刷新操作。 这个场景背后写,并打开一个新的细分使得包含在这些细分市场可搜索的文件。

默认情况下,弹性刷新分片的每一秒。 这就是为什么说,Elasticsearch有近实时搜索。

刷新间隔可以通过索引设置PARAM来控制refresh_interval 。 对于如下面将刷新间隔更改为5秒,索引将在最多需要5秒的任何新的文件进行搜索。

PUT /my_index
{
  "settings": {
    "refresh_interval": "5s" 
  }
}

要了解更多关于它了解elasticsearch 近乎实时搜索 。



文章来源: How long does it take from getting a document upserted into ES before it can be searched against correctly?