2016-03-21 3 views
0

J'ai supprimé un enregistrement de l'application django, puis je l'ai suivi avec update_index et l'enregistrement était toujours consultable. J'ai ensuite utilisé rebuild_index et cela a semblé fonctionner lorsque j'ai recommencé la recherche. Mais je ne sais pas si mon ordinateur a bégayé ou quoi mais quand je quand à mon application django tous mes dossiers ont disparu. mais j'ai paniqué frapper le bouton d'actualisation sur le navigateur à plusieurs reprises et ils ont réapparu. Ce que je voudrais être clair est c'est, après que je supprime un enregistrement de mon application django je lanceUn peu confus à propos de rebuild/update_index pour Django-Haystack

./manage.py rebuild_index 

et quand j'ajouter un enregistrement à mon application django Je le fais

./manage.py update_index. 

Est-ce que cette syntaxe est correcte? Je ne veux pas supprimer par inadvertance tous mes dossiers d'un manque de compréhension des commandes mentionnées ci-dessus. Les documents ne sont pas complètement clairs pour moi.

Répondre

3

Évitez d'utiliser rebuild_index pour supprimer des objets supprimés de l'index de recherche.

Lorsque vous exécutez la commande rebuild_index, tout l'index est supprimé/effacé à l'aide de clear_index, puis mis à jour à l'aide de update_index sous le capot.

Utilisez la commande update_index pour mettre à jour votre index de recherche. Pour supprimer des objets supprimés, vous pouvez passer l'argument --remove à la commande afin de supprimer efficacement les objets obsolètes.

$ python manage.py update_index --remove 

Cette commande supprimera les objets supprimés de l'index.

En savoir plus @haystack docs/management commands

+0

est 'update_index' que l'indexation des résultats manquants? ou il met à jour tout à nouveau? car après avoir exécuté 'rebuild_index' pour la première fois, j'ai lancé' update_index' et montré 'Indexing # results' avec le nombre total d'enregistrements. – eLRuLL

+0

il s'agit de réindexer les anciens objets mis à jour et d'en indexer de nouveaux. Il vérifie si les objets qu'il a dans l'index sont à jour ou non et ajoute aussi ceux qu'il n'a pas. – v1k45