Je travaille sur le tutoriel pour configurer Djapian et j'essaie d'utiliser l'indexshell (comme illustré dans this step). Quand je lance la commande 'list' Je reçois la sortie suivante:Aucun indexeur créé par Djapian pour Django
Installed spaces/models/indexers:
- 0: 'global'
Je ne peux donc pas exécuter des requêtes:
>>> query
No index selected
Ce qui me conduit à tenter:
>>> use 0
Illegal index alias '0'. See 'list' command for available aliases
Mon index .py est la suivante:
from djapian import space, Indexer, CompositeIndexer
from cms.models import Article
class ArticleIndexer(Indexer):
fields = ['body']
tags = [
('title', 'title'),
('author', 'author'),
('pub_date', 'pub_date',),
('category', 'category')
]
space.add_index(Article, ArticleIndexer, attach_as='indexer')
Mise à jour: J'ai déplacé le dossier djapian de site-packages vers dans mon dossier de projet et je déplace index.py de la racine du projet dans le dossier djapian. Quand je lance « liste » dans le indexshell ce qui suit est maintenant retourné:
>>> list
Installed spaces/models/indexers:
- 0: 'global'
- 0.0 'cms.Article'
-0.0.0: 'djapian.space.defaultcmsarticleindexer'
Je ne peux toujours pas faire quoi que ce soit bien que lorsque je tente de sélectionner un index je reçois toujours l'erreur suivante:
>>> use 0.0
Illegal index alias '0'. See 'list' command for available aliases
Mise à jour 2: J'ai eu un problème avec mon paramètre DJAPIAN_DATABASE_PATH qui est maintenant corrigé. Je peux sélectionner un indexeur en utilisant la commande 'use 0.0.0' mais quand j'essaye d'exécuter une requête il soulève l'erreur ValueError suivante: "tranche vide".
Avez-vous exécuté "manage.py index --rebuild"? – shanyu
Je l'ai fait et j'ai essayé de le relancer maintenant et cela n'a fait aucune différence. –
Pouvez-vous exécuter "liste" et coller dans la liste de vos index? – lemonad