lib CURL 不遵守超时,因为它显示文档不存在
lib CURL is not honoring TIMEOUT as it shows document not exist
我遇到了一个奇怪的问题,因为我有高速交易应用程序(用 C++ 编写),它将在第二秒内完成整个交易(最好的情况是在毫秒内)。
我的应用程序正在将文档写入 Elastic 搜索服务器,写入成功后,应用程序立即尝试访问该文档。
但是 Elastic Search 服务器返回 "Document doesn't exist"。
最终应用程序失败。
我尝试在 CURl options(upto 100S) 中使用 TIMEOUT,但这并没有解决问题。
在睡眠(1s)发生魔法之后,即文档写入弹性搜索服务器后休眠 1 秒,弹性搜索服务器返回 "Document Exist".
谁能帮助我理解问题和正确的解决方案,因为睡眠不是好的编程习惯!!!
Elasticsearch 在 "near-real time" 中工作,这意味着在您索引文档后,它可能无法立即用于搜索。
您需要将 refresh=true
parameter 传递给索引操作,以确保刷新索引,以便您可以立即搜索新文档。
但是请注意,如果您获取文档(而不是搜索文档),则无需将刷新设置为 true 即可检索文档。
我遇到了一个奇怪的问题,因为我有高速交易应用程序(用 C++ 编写),它将在第二秒内完成整个交易(最好的情况是在毫秒内)。 我的应用程序正在将文档写入 Elastic 搜索服务器,写入成功后,应用程序立即尝试访问该文档。 但是 Elastic Search 服务器返回 "Document doesn't exist"。 最终应用程序失败。
我尝试在 CURl options(upto 100S) 中使用 TIMEOUT,但这并没有解决问题。 在睡眠(1s)发生魔法之后,即文档写入弹性搜索服务器后休眠 1 秒,弹性搜索服务器返回 "Document Exist".
谁能帮助我理解问题和正确的解决方案,因为睡眠不是好的编程习惯!!!
Elasticsearch 在 "near-real time" 中工作,这意味着在您索引文档后,它可能无法立即用于搜索。
您需要将 refresh=true
parameter 传递给索引操作,以确保刷新索引,以便您可以立即搜索新文档。
但是请注意,如果您获取文档(而不是搜索文档),则无需将刷新设置为 true 即可检索文档。