1

さまざまなモデルレコードを使用して一連のインタラクションを実行し、Searchableすべてのインタラクションが完了するまでモデルのインデックスを再作成しないようにします。これは可能ですか?

再インデックスメソッドを手動で呼び出すことができることは知っていますが、特定のコードブロックに対してインデックスを再作成しないようにSunspotに手動で指示するにはどうすればよいですか?

4

2 に答える 2

4
Sunspot.session = Sunspot::Rails::StubSessionProxy.new(Sunspot.session)
# whatever code you want to execute and not trigger a reindex
Sunspot.session = Sunspot.session.original_session

参照:

link1

link2

于 2013-01-06T04:11:07.997 に答える
3

johnnycakesの答えは役に立ちましたが、特定のモデルの自動インデックス作成を完全に防ぐ必要があるため、代わりに次を使用しました。

searchable :auto_index => false do
  text :name
  text :description
  # etc...
end

この:auto_index => false部分は、モデルにインデックスを付けないようにSolrに指示するものです。簡単ですが、何らかの理由で、Googleで見つけるのに時間がかかりました。

于 2013-02-06T16:05:06.887 に答える