go - 插入后无法立即删除文档?
问题描述
我为我的 ElasticSearch 功能创建了一些测试,我注意到一些奇怪的行为。如果我有一个测试:
- 插入文档并确认没有错误
- 检索相同的文档,确认没有错误并确认它具有预期值
- 删除文档,确认没有错误并确认 1 个文档已被删除
然后第三次测试将失败,因为删除了 0 个文档。如果我采取以下步骤之一:
- 调试测试并在插入之后但在删除之前放置一个断点
time.Sleep(time.Second)
在删除步骤之前添加
然后删除 1 个文档,第 3 次测试将通过。在第三次测试失败的情况下,我进入了我的 ES 实例并确认该文档存在。
这让我相信,在插入文档后,有一段时间必须发生一些事情,然后才能删除文档。
我的问题是 - 插入后需要做什么才能删除文档,在我的测试中是否有比睡 1 秒更好的方法来处理这个问题?
我正在使用 Golang 进行编码,并且正在使用Olivere ES 客户端
解决方案
推荐阅读
- python - NoReverseMatch:未找到带有参数 '('',)' 的 'update_cart' 的反向。尝试了 1 种模式:['cart/(?P
[\\w-]+)/$'] - python - 熊猫等级归一化 -1 和 1 之间的回报
- python - 我的除法方法不会运行。其他一切都很好
- javascript - React 组件道具的更改是否会导致重新渲染?
- c# - 剃刀页面排名
- php - PHP、ajax、HTML 表单上传文件到谷歌云存储
- signals - 不能在 OCTAVE 中进行 amdemod
- google-apps-script - Google 脚本 - 将值复制到新工作表中,已存在的值除外
- python - 匹配两个 .xlsx 文件中的唯一列,如果匹配更新,则使用 openpyxl 追加
- java - java中静态变量的混淆