我想索引接近900,000份文件,但这需要很长时间。我已经定义了一个映射,其中包含以下行的索引:
indexes :residencies_with_year, type: 'string', :as => 'residencies_obj.map{|r| ExpertProfile.residency_with_year_to_s(r)}'
因此我相信有很多数据库查询,因为我正在索引模型。我正在使用默认配置:节点数= 1,分片数= 5,副本数= 1。 每批1000份文件大约需要15分钟。
如何加快速度?
这是我正在使用的rake命令
rake environment tire:import CLASS='Expert' FORCE=true
答案 0 :(得分:0)
作为替代方案,您可以尝试使用时间范围进行并行导入。 在这种情况下不要使用强制选项
rake environment tire:import CLASS='Expert.scoped(:conditions => [created_at<? and created_at>?', Time.now.utc, Time1])'
rake environment tire:import CLASS='Expert.scoped(:conditions => [created_at<? and created_at>?', Time1, Time2])'
rake environment tire:import CLASS='Expert.scoped(:conditions => [created_at<? and created_at>?', Time2, Time3])'
这可能会加快导入过程的总时间。