2016-03-21 5 views
0

djangoアプリからレコードを削除しましたが、update_indexでレコードを削除しましたが、レコードはまだ検索可能でした。私はその後、rebuild_indexを使用して、私は再度検索を実行したときに動作するように見えました。しかし、私のコンピュータが乱れているのか、それとも私がいつ私のジャンゴアプリにいつ私の記録がなくなったのか分かりません。しかし、私はパニックになってブラウザのリフレッシュボタンを数回押して、再び現れました。私は私が私がDjango-Haystackのrebuild/update_indexについてちょっと混乱しました

./manage.py rebuild_index 

を実行し、私は私のDjangoアプリケーションにレコードを追加するとき、私はこの

​​ を行う私のDjangoアプリケーションからレコードを削除した後、これがあるさを明確になりたいです

正しい構文ですか?私は誤って上記のコマンドの感謝の理解の不足から私のすべてのレコードを削除したくないです。ドキュメントは完全にわかりません。

答えて

3

rebuild_indexを使用して、削除されたオブジェクトを検索インデックスから削除しないでください。

rebuild_indexコマンドを実行すると、すべてのインデックスがclear_indexを使用して削除/消去され、フードの下でupdate_indexを使用して更新されます。

update_indexコマンドを使用して検索インデックスを更新します。削除されたオブジェクトを削除するには、--remove引数をコマンドに渡して、廃止されたオブジェクトを効果的に削除するようにします。

$ python manage.py update_index --remove 

このコマンドは、削除されたオブジェクトをインデックスから削除します。

haystack docs/management commands

+0

@続きを読むにはupdate_index'だけ不足している結果にインデックスを付ける 'のですか?それとも、すべてをもう一度更新しますか?最初に 'rebuild_index'を実行した後、' update_index'を実行して、 'Indexing#results'に総レコード数を表示したためです。 – eLRuLL

+0

古い更新オブジェクトを再索引付けし、新しいものを索引付けするためのものです。インデックスにあるオブジェクトが最新であるかどうかをチェックし、インデックスにないオブジェクトも追加します。 – v1k45

関連する問題