4

デフォルトでは、sunspot solr gem は、save コールバックの一部として index コマンドを solr サーバーに発行します。この動作は、ほとんどのアプリで許容されますが、solr サーバーとのやり取りをまったく行わずにモデルのインスタンスを保存したい部分 (特に、一括処理用の rake タスクの部分) があります。どうすればこれを達成できますか?

4

2 に答える 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 に答える