Я последовал за учебник Haystack настроить для СвистСтог-Свист не индексировать какие-либо документы
>>> pip install whoosh
settings.py
import os
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine',
'PATH': os.path.join(os.path.dirname(__file__), 'whoosh_index'),
},
}
и я получаю пустой список
>>> list(ix.searcher().documents())
[]
Следующий мой код для searcher_i ndexes.py
from haystack import indexes
from view_links.models import Projdb
class ProjdbIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
title = indexes.CharField(model_attr='title')
author = indexes.CharField(model_attr = 'owner')
# pub_date = indexes.DateTimeField(model_attr='date_start')
def get_model(self):
return Projdb
def index_queryset(self,using=None):
"""Used when the entire index for model is updated."""
return self.get_model().objects.all()#filter(pub_date__lte=datetime.datetime.now())
Я ранее был в состоянии получить результаты для elasticsearch, но когда я перешел к Свист я не подвожу никаких результатов.
Спасибо за ваше время. Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.
EDIT:
Я получаю результаты здесь и сейчас две вещи, которые я узнал.
- Мне нужно зарегистрировать приложение, модель которого используется для индексирования.
- Если класс модели, является орфографической ошибкой в search_indexes.py, запустив питона manage.py rebuild_index не бросает какую-то ошибку, и вы получите ноль индексированных объектов
Я думал, что мне не нужно регистрировать приложение, модель которого я использовал. Это была ошибка, которую я совершил. – Ent