【发布时间】:2023-02-25 18:25:37
【问题描述】:
在我的 Elasticsearch 测试规范中,我遇到了很多关于“竞争条件”的问题。有时我的测试通过,有时不通过,有时他们找到 X 个结果,有时他们找到不同数量的结果。这一切都源于我在 ES 完成新记录到数据库的索引之前执行的搜索。
我创建记录,然后运行:
Model.__elasticsearch__.refresh_index! 刷新索引,然后执行我的搜索,但我得到的搜索结果不一致。
我可以通过在 .refresh_index! 之后添加 sleep 3 来解决这个问题,但这一切看起来都是一个可怕的黑客攻击。这个问题还有其他解决方案吗?
我正在使用带有 rspec 的 elasticsearch gem。
gem 'elasticsearch', '< 7.14'
gem 'elasticsearch-model', '7.1.1'
gem 'elasticsearch-rails', '7.1.1'
【问题讨论】:
标签: ruby-on-rails elasticsearch elasticsearch-rails