Ruby on rails RubyonRails-Tire-elasticsearch,如何对导入的数据进行排序?
我们仍在生产系统中使用(重新)轮胎进行弹性研究。Ruby on rails RubyonRails-Tire-elasticsearch,如何对导入的数据进行排序?,ruby-on-rails,ruby,
elasticsearch,tire,Ruby On Rails,Ruby,
elasticsearch,Tire,我们仍在生产系统中使用(重新)轮胎进行弹性研究。 我的问题是如何为索引运行导入任务,并为其提供来自mongoid的排序数据。例如,当用户可以访问系统时,我想为9000万条记录编制索引,并且我想首先为最后插入的记录编制索引,以便用户可以找到最新的记录(以及最相关的记录-按创建顺序排列数据)。 那么,有没有办法通过使用: rake-environment-tire:import-CLASS=Document-FORCE=true我将考虑手动导入它们。写你自己的脚本,在下面的例子中 User.orde
我的问题是如何为索引运行导入任务,并为其提供来自mongoid的排序数据。例如,当用户可以访问系统时,我想为9000万条记录编制索引,并且我想首先为最后插入的记录编制索引,以便用户可以找到最新的记录(以及最相关的记录-按创建顺序排列数据)。
那么,有没有办法通过使用:
rake-environment-tire:import-CLASS=Document-FORCE=true
我将考虑手动导入它们。写你自己的脚本,在下面的例子中
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会话