Я работаю над учебником по настройке Djapian и пытаюсь использовать indexshell (как показано в this step). Когда я запускаю «список» команды я получаю следующий результат:Нет индексаторов, созданных Djapian для Django
Installed spaces/models/indexers:
- 0: 'global'
поэтому я не могу запустить любые запросы:
>>> query
No index selected
Который ведет меня к попытке:
>>> use 0
Illegal index alias '0'. See 'list' command for available aliases
Мой индекс .py выглядит следующим образом:
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')
Обновление: Я переместил папку djapian из пакетов сайта в папку моего проекта, и я перемещаю index.py из корня проекта в папку djapian. Когда я запускаю «список» в indexshell следующее теперь возвращается:
>>> list
Installed spaces/models/indexers:
- 0: 'global'
- 0.0 'cms.Article'
-0.0.0: 'djapian.space.defaultcmsarticleindexer'
я до сих пор ничего не могу сделать, хотя, как, когда я пытаюсь выбрать индекс Я до сих пор получаю следующее сообщение об ошибке:
>>> use 0.0
Illegal index alias '0'. See 'list' command for available aliases
Обновление 2: У меня была проблема с настройкой для DJAPIAN_DATABASE_PATH, которая теперь исправлена. Я могу выбрать индексатор, используя команду «use 0.0.0», но когда я пытаюсь запустить запрос, он вызывает следующий ValueError: «Empty slice».
Вы запустили «manage.py index --rebuild»? – shanyu
Я сделал, и я попробовал повторно запустить его сейчас, и это не имело никакого значения. –
Можете ли вы запустить «список» и вставить в список своих индексов? – lemonad