【发布时间】:2015-06-19 01:03:51
【问题描述】:
使用Tire,我需要在创建一些记录后在测试用例中填写索引,我就是这样做的。
['London', 'Mumbai', 'New York'].each { |name| Place.create(name: name) }
t = Tire.index('places')
t.import(Place.all.entries)
在继续之前如何等待创建索引?
【问题讨论】:
-
你是在暗示
Tire.index是异步的吗? -
您可以根据自述文件将它们放入块中。像这样的东西应该可以
Tire.index 'places' { import Place.all }。 -
@MikeSlutsky 是的,我认为
Tire.import是异步的,有时会在没有结果后立即搜索... -
@engineersmnky 谢谢,我会试试你的建议
-
你试过导入后直接调用
t.refresh吗?您的 elasticsearch 索引可能已完全更新,但 Tire 与它不同步。
标签: ruby-on-rails ruby elasticsearch tire