当前位置: 首页 > 面试题库 >

Elasticsearch Realtime GET支持

陈项禹
2023-03-14
问题内容

当我在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请求返回,就可以确保在下一个搜索调用中可以使用新文档。



 类似资料:
  • 对于Requests,如果你有问题或者建议,可以通过下面几种方法得到支持: StackOverflow 如果你的问题不包含敏感或私有信息,或者你能将这些信息匿名化,那你就可以在 StackOverflow 上使用 python-requests 标签提问。 发送推文 如果你的问题在140个字符内描述,欢迎在 twitter 上发送推文至 @kennethreitz, @sigmavirus24,

  • Jython 是在 Java 平台 (JVM) 运行的 Python 实现。这个文档将让你在Jython之上运行Django。 Installing Jython Django使用Jython 2.7b2及更高版本。有关下载和安装说明,请参阅Jython网站。 Creating a servlet container 如果你只是想试验Django,请跳到下一节; Django包含一个可以用于测试的

  • Babel 的社区非常庞大并且增长速度很快,伴随着我们成长的同时我们希望保证人们总能获取他们需要的所有资源。 所以我们提供了数种途径来提供支持。 谨记在所有的这些沟通渠道里我们都共同遵守一套行为准则。 破坏准则的行为会被处理。 所以请阅读它并在与他人互动时注意自己的行为。 同时我们也在寻求发展一个自我支持式的社区,为那些始终热诚奉献的人们。 如果别人问的问题你恰好知道答案,请不吝花费几分钟帮帮他们

  • 如何让Java8与Eclipse一起工作? 我遵循了这个指南,但不起作用。我也看过EclipseJava8维基页面,但是他们没有解释如何处理签出的git存储库。

  • suEXEC特性使得Apache可以使用与调用web服务器的用户不同的用户身份来运行CGI和SSI程序。而通常情况下,CGI或者SSI程序执行时使用和web服务器相同的用户身份。 正确运用该特性,可以减少很多因为提供用户执行私有CGI或者SSI程序所带来的安全风险。但如果配置不当的话,则可能引起很多问题,使你的计算机产生更多的安全漏洞。如果你对管理 setuid root 程序以及可能导致的安全问

  • 有些项目的代码组织中使用了 git submodule 功能,但是如果某个项目引用的 submodule 是私有的,会导致代码构建/持续集成时拉取代码失败。这时可以参考下面的流程进行操作达到支持私有 submodule 的目的。 下面的例子以 Github 为例 创建项目 按照正常流程创建代码构建项目,在项目“设置”页面可以查看 Deploy Key。 复制 Deploy Key 点击如下所示红框

  • 写测试用例都很头疼,然而对核心方法的单元测试是非常重要的. nutz-plugins-mock 提供了 Ioc支持,Mvc环境, Servlet Mock对象 基本用法 添加依赖 <dependency> <groupId>org.nutz</groupId> <artifactId>nutz-plugins-mock</artifactId>

  • 什么是TypeScript TypeScript 是 JavaScript 的强类型版本,就然后在编译期去掉类型和特有语法,生成纯粹的 JavaScript 代码。由于最终在浏览器中运行的仍然是 JavaScript,所以 TypeScript 并不依赖于浏览器的支持,也并不会带来兼容性问题。 TypeScript 是 JavaScript 的超集,这意味着他支持所有的 JavaScript 语法