デフォルトでは、sunspot solr gem は、save コールバックの一部として index コマンドを solr サーバーに発行します。この動作は、ほとんどのアプリで許容されますが、solr サーバーとのやり取りをまったく行わずにモデルのインスタンスを保存したい部分 (特に、一括処理用の rake タスクの部分) があります。どうすればこれを達成できますか?
質問する
1432 次
2 に答える
5
ドキュメントによると、auto_index: false
検索可能なブロックに追加する必要があると思います。
class Foo < ActiveRecord::Base
searchable auto_index: false do
# your search fields here
end
end
次に、次の方法を使用して、レコードを手動で再インデックス化できます。
# On a class itself
Person.reindex
Sunspot.commit # or commit(true) for a soft commit (Solr4)
# On mixed objects
Sunspot.index [post1, item2]
Sunspot.index person3
Sunspot.commit # or commit(true) for a soft commit (Solr4)
# With autocommit
Sunspot.index! [post1, item2, person3]
于 2013-09-11T08:42:11.177 に答える
-1
無効にするauto_commit_after_request: false
には、sunspot.yml
.
于 2013-09-09T12:30:22.613 に答える