Орфографические предложения с django-haystack и Solr - PullRequest
3 голосов
/ 04 января 2011

Я получаю "Нет" за предложения по написанию.

Во-первых, у меня есть этот набор в моем файле settings.py:

HAYSTACK_INCLUDE_SPELLING = True

Я перестроил индекс:

python manage.py rebuild_index

и обновил его для хорошей меры

python manage.py update_index

Поиск работает правильно. Когда я ищу «Зарядное устройство», он возвращает результаты, которые соответствуют. Итак, в моем views.py я тогда попробовал:

from haystack.query import SearchQuerySet
def testpage(request):

    test_results = SearchQuerySet().auto_query('Chargr')
    spelling_suggestion = test_results.spelling_suggestion()

    return render_to_response('testpage.html', {
        'test': test_results,   
        'spelling_suggestion': spelling_suggestion
    })

Однако мой шаблон:

<html>
    <body>

        {{ test }}<p>
        {{ spelling_suggestion }}

    </body>
</html>

Все равно ничего не возвращает:

[]

None

Очевидно, я ничего не ожидал для {{test}}, но разве я не должен получить что-то для {{spelling_suggestion}}? Чего мне не хватает?

1 Ответ

3 голосов
/ 15 марта 2011

Я наконец понял это (с некоторой помощью из группы сообщений Haystack)

Здесь есть некоторые подробности здесь об изменениях конфигурации, которые необходимо внести. Кроме того, мне пришлось добавить строки в файл views.py из стога сена (под def extra_context):

spelling = self.results.spelling_suggestion(self.query)
return {'suggestion': spelling, . . .

Затем я добавил {{предложить}} в свой шаблон вывода

...