我们仍然在生产系统中使用(重新)Tire进行弹性搜索
我的问题是如何为索引运行导入任务并为其提供来自mongoid的排序数据。例如。我希望用户可以访问系统时索引9000万条记录,我想实现最后插入的记录将被编入索引,以便用户可以找到最新的记录(以及最相关的记录 - 通过created_at命令数据) )。
那么有什么办法可以通过以下方式实现这一点:
rake environment tire:import CLASS=Document FORCE=true
答案 0 :(得分:1)
我会看一下手动导入它们。编写自己的脚本,readme中有一个例子,如
User.order('created_at DESC').find_in_batches do |batch|
Tire.index("users").import batch
end
或使用他们的导入工具:
User.index.import User.order('created_at DESC')
如果您的网站被广泛使用,我会想要启动一个不同的核心或solr实例,导入所有内容,然后切换您的应用程序以使用新的。
希望有所帮助。
编辑:
如果您使用的是rails,请确保在脚本(config / environment)中包含rails环境。如果要导入需要很长时间,那么您可能希望使用'nohup ruby my_script.rb>运行脚本。 script_out.log 2>& 1&'所以它不受你的ssh会话的约束。