2016-04-14 13 views
4

を実行していないオブジェクトをインデックスの再作成が、オブジェクトではありませんデータベースを変更すると自動的にSolrに索引付けされます。Solrの黒点は - 自動的に私はインデックスのための太陽黒点のSolrを使用してMangoDB データベース(モンゴ・マッパー)と私たちのRuby on Railsのアプリケーション</p> <p>は検索がうまく機能で検索してい

I手動クラス自体にインデックスを試みた:

Top.reindex Sunspot.commit 

それとも、私はsunspot.ymlに追加: auto_commit_after_request:

<autoCommit> 
<maxDocs>10000</maxDocs> 
<maxTime>15000</maxTime> 
</autoCommit> 
:真 を私もsolrconfig.xmlにある間隔で自動コミット

すべてのオブジェクトをレーキタスクで再インデックス付けしない限り、このソリューションはすべて自動的にオブジェクトのインデックスを再作成できませんでした。

bundle exec rake sunspot:reindex 

他の解決方法はありますか?

ありがとうございます。

答えて

3

ActiveRecordcheck this)を使用している場合、Sunspotはデフォルトで再インデックスされます。

ここで問題となるのは、ARではなくMongoを使用していることです。この目的のためにsunspotmongoマッパーを統合した宝石を見つけました。 check itにして、自動インデックス作成の問題を解決するかどうかを確認することができます(thisを確認してください)

これが機能しない場合は、

after_save { |user| Sunspot.index!(user) } 
after_destroy { User.reindex; Sunspot.commit } 
+0

私はすでにこの宝石を試しましたが、私の問題は解決していません。これは、ユーザーモデルのActiveRecordフックに似ています。 ありがとう:) –

+0

@ user3625835私は答えを更新しました、それが動作するかどうかを確認してください。私があなたに話しているようにフックでこれを試したかどうかは分かりません - あなたがしたら私に教えてください;) –

+0

それは動作します!どうもありがとう :) ! –

関連する問題