Джанго-Хейстек с свистом - PullRequest
3 голосов
/ 07 ноября 2011

Я получаю SearchBackendError at /forum/search/ No fields were found in any search_indexes. Please correct this before attempting to search.

с search_indexes, помещенным в djangobb корневой каталог приложения:

from haystack.indexes import *
from haystack import site

import djangobb_forum.models as models

class PostIndex(RealTimeSearchIndex):
    text = CharField(document=True, use_template=True)
    author = CharField(model_attr='user')
    created = DateTimeField(model_attr='created')
    topic = CharField(model_attr='topic')
    category = CharField(model_attr='topic__forum__category__name')
    forum = IntegerField(model_attr='topic__forum__pk')

site.register(models.Post, PostIndex)

settings.py

# Haystack settings 

HAYSTACK_SITECONF = 'search_sites'
HAYSTACK_SEARCH_ENGINE = 'whoosh'
HAYSTACK_WHOOSH_PATH = os.path.join(PROJECT_ROOT, 'djangobb_index')

также у меня есть haystack и whoosh в моих установленных приложениях.
В интерпретаторе Python:

>>> import haystack
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/.../lib/python2.7/django_haystack-1.2.5-py2.5.egg/haystack/__init__.py", line 26, in <module>
    raise ImproperlyConfigured("You must define the HAYSTACK_SITECONF setting before using the search framework.")
django.core.exceptions.ImproperlyConfigured: You must define the HAYSTACK_SITECONF setting before using the search framework.

У кого-нибудь есть идеи? Заранее благодарим за любую помощь, которую вы можете предложить.

1 Ответ

1 голос
/ 06 декабря 2011

Обратите внимание, что значение, указанное в документации для HAYSTACK_SITECONF, приведено только в качестве примера.Настоящее имя должно быть модулем, в котором определены производные от SearchIndex классы.Итак, как и в вашем случае, модуль search_indexes, тогда вы должны иметь HAYSTACK_SITECONF='search_indexes' Кроме того, о той ошибке, которая появляется в интерпретаторе, вы получили ее с помощью python ./manage.py shell?В противном случае settings.py не был загружен в интерпретатор.

...