elasticsearch,tire,Ruby On Rails,Ruby,elasticsearch,Tire" /> elasticsearch,tire,Ruby On Rails,Ruby,elasticsearch,Tire" />

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会话