我在我的Rails 3中有一個名爲Article的模型,我用rake environment tire:import CLASS='Article' FORCE=true
來做索引。但我只希望與字段的文章等於false被索引。我怎樣才能實現它?如何用條件導入索引
2
A
回答
2
您可以使用作用域方法。
rake environment tire:import CLASS='Article.scoped(:conditions => {:deleted => false})' FORCE=true
1
Above Solution似乎並沒有工作。
我們傳遞給CLASS
的環境變量只用於查找輪胎索引和計算total
進度條。檢查Line 97: total = klass.count rescue nil
和Line 49: klass.tire.import(params) do |documents|
從https://github.com/karmi/retire/blob/master/lib/tire/tasks.rb
唯一的工作解決,我發現(與mongoid)是,
Tire.index "articles" do
import Article.scoped(:conditions => {:deleted => false})
end
這是說Article.index.import(Article.scoped(:conditions => {:deleted => false}))
由果報工作者的回答@https://github.com/karmi/tire/issues/458
但上述方法在有利好方法是當我們需要自定義映射時。像下面一樣
Tire.index "articles" do
import Article.scoped(:conditions => {:deleted => false}) do|documents|
documents.map{|document| document[:content].downcase!; document}
end
end
0
這在最新的輪胎寶石中並不適用於我。它在Tire v0.5.4中工作,但不在v0.6.2中。所以,要創建一個rake任務,我這樣做...
desc 'Index articles'
task :index => :environment do
Article.where(:deleted => false).find_in_batches do |batch|
Tire.index(Article.index_name).import batch
end
end
使用find_in_batches建議在readme。
相關問題
- 1. 如何導入data.table索引功能?
- 2. 如何添加索引有條件
- 3. 從索引文件中導入反應
- 4. 如何導入引導
- 5. 如何導入沒有索引鍵的excel.cvs文件到phpmyadmin
- 6. Postgres索引2條件條件
- 7. 如何在elasticsearch中批量創建(導出/導入)索引?
- 8. MSBuild條件導入
- 9. 有條件導入
- 10. DB2條件導入
- 11. ant條件導入
- 12. 在導入sql文件索引後,我沒有實際編入索引
- 13. 索引與查詢條件
- 14. 索引匹配3條件
- 15. 有條件的root_url(索引)
- 16. MongoDB或條件索引
- 17. 有條件目錄索引
- 18. Excel如果索引匹配2條件
- 19. 如果條件不符合,則在導入時引發異常
- 20. MySQL不使用索引如果條件值不裹引號
- 21. 如何有條件地使用MySQL創建索引?
- 22. 如何使用[Javascript + ElasticSearch]中的條件索引文檔
- 23. 如何使用條件索引numpy數組?
- 24. 如何在多個條件下使用邏輯索引
- 25. 用戶窗體:索引匹配條件
- 26. 索引使用那裏的條件
- 27. MySQL的使用索引條件
- 28. MySQL多態加入條件與或不使用索引
- 29. 在Spring引導中使用條件加入和where子句
- 30. MySQL索引 - 可選搜索條件