【问题标题】:lib CURL is not honoring TIMEOUT as it shows document not existlib CURL 不遵守 TIMEOUT,因为它显示文档不存在
【发布时间】:2016-06-07 19:26:36
【问题描述】:

我有一个奇怪的问题,因为我有高速事务应用程序(用 C++ 编写),它将在第二秒内完成整个事务(最好的情况是毫秒)。 我的应用程序正在将文档写入 Elastic 搜索服务器,写入成功后,应用程序立即尝试访问该文档。 但 Elastic Search 服务器返回“文档不存在”。 最终应用程序失败。

我尝试在 CURl options(upto 100S) 中使用 TIMEOUT ,但这并没有解决问题。 在睡眠(1s)发生魔法之后,即文档写入弹性搜索服务器后休眠 1 秒,弹性搜索服务器返回“文档存在”。

有人可以帮助我理解问题和正确的解决方案,因为让睡眠不是好的编程习惯!!!

【问题讨论】:

  • curl 的超时是您允许它花费的最大时间,这并不意味着它会继续尝试......

标签: php c++ curl elasticsearch libcurl


【解决方案1】:

Elasticsearch 以“近乎实时”的方式工作,这意味着在您为文档编制索引后,它可能无法立即用于搜索。

您需要将refresh=true parameter 传递给索引操作,以确保刷新索引,以便您可以立即使新文档可供搜索。

但是请注意,如果您 GET 文档(而不是搜索它),您将能够检索文档而无需将 refresh 设置为 true。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-11
    • 2016-05-19
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-29
    相关资源
    最近更新 更多