【发布时间】:2018-09-28 21:56:36
【问题描述】:
在我们的项目中,我们会在每次创建/更新/删除操作后点击弹性搜索的索引刷新 api,以便立即进行搜索。
我想知道,如果在具有接近 250 万个文档的单个索引上对其刷新 api 发出多个并行请求,弹性搜索将如何执行?
有什么想法吗?建议?
【问题讨论】:
-
你能详细说明你想用它实现什么吗?例如,您可能会使用刷新索引查询访问一个节点,但您甚至不确定副本是否已摄取数据,因此您甚至可能无法实现您认为的目标。 Elastic 已经接近实时,您可以设置自动刷新率(默认
index.refresh_interval为 1 秒)。因此,除非您知道您的应用将插入然后立即取回的用例,否则您甚至可能不需要实际刷新。 -
是的,有这样的用例。因此,我们的应用程序有一个 UI 流程,用户在其中创建内容,然后立即导航到列表屏幕,其中最近创建/修改的内容显示在顶部。
-
目前,在每次 CUD 操作后,我们都会点击刷新 api。而且,我们正在开发一项功能,现有文档数量将增加两/三倍,即高达 750 万。我想知道我们是否在每次 CUD 操作后仍然继续刷新,那么它会以任何方式影响弹性搜索性能。我所说的性能是指索引、搜索或更多 GC 暂停等方面的任何延迟。
-
这个答案也可能有帮助:stackoverflow.com/questions/31499575/…
标签: elasticsearch