/ / La recherche dans Django-haystack avec whoosh renvoie "Aucun résultat": échec du débogage - Django, Django-haystack, whoosh

La recherche sur Django-haystack avec whoosh renvoie «Aucun résultat»: échec du débogage - django, django-haystack, whoosh

Je suis nouveau à Django et Haystack. J'ai suivi toutes les recommandations de la page "commencer" de la documentation de Haystack et de la page de débogage, mais je ne vois pas où se trouve mon erreur. sqs.count() renvoie 0 même si rebuild_index semble fonctionner, donnant le bon nombre d’entrées dans les tables indexées et produisant des fichiers d’index dans la whoosh_index annuaire.

search_indexes a le nécessaire text = lignes, j'ai un search_sites.py, j'ai changé les settings.py et urls.py, et j'ai des fichiers [nom_du_modèle] _text.txt dans le bon répertoire.

Nous travaillons sur un serveur universitaire où nousDjango a dû mettre à jour Django pour fonctionner avec Haystack après l’installation de Haystack, car nous avions réalisé que c’était une version incompatible (1.1 et non 1.5).

Réponses:

3 pour la réponse № 1

Le code suivant vous montrera ce qui a été indexé - remplacez-le par le chemin correct pour votre configuration.

from whoosh.index import open_dir
ix = open_dir("<yourapp>/whoosh_indexes")
from pprint import pprint
pprint(list(ix.searcher().documents()))

Si cela ne vous éclaire pas, vous devrez publier plus de détails sur votre code, en particulier le search_indexes.py.


0 pour la réponse № 2

Cela peut sembler évident, mais j’ai eu la même erreur. http://django-haystack.readthedocs.org/en/latest/debugging.html J'ai découvert que j'utilisais un nom d'attribut incorrect pour les objets renvoyés.

   ensure that {{ result.object.title }} corresponds to your model field
for instance I had name as the model filed but kept wondering why I didn"t get results.
I had to change to {{ result.object.name }} to list my results

name était l'attribut nécessaire. J'espère que ça aide quelqu'un.