Полнотекстовый поиск контента для Django-CMS

Вероятно, лучший способ интегрировать поиск с Django-CMS - это Haystack.

Фрагмент search_indexes.py django-cms документация. Кому-нибудь удалось это запустить?

Я использую свист в качестве поисковой системы. Haystack отлично работает с моими моделями, но этот фрагмент для cms.Page модель не работает. Поведение не соответствует. Обычно я получаю No results found сообщение, но иногда после запуска manage.py rebuild_index, или же update_index Я получаю результаты для той же строки запроса. Дело в том, rebuild_index не всегда помогает Может ли кто-нибудь помочь мне понять, что происходит?

2 ответа

Решение

Есть плагин для CMS, который называется aldryn-search. Это в настоящее время сделал свое дело для меня. Я использую свист и стог сена, и это работает.

Мой конфиг settings.py для этого:

HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine',
        'PATH': os.path.join(PROJECT_PATH, 'whoosh_index'),
    },
}
HAYSTACK_ROUTERS = ['aldryn_search.router.LanguageRouter', ]
ALDRYN_SEARCH_REGISTER_APPHOOK = True

Там есть https://github.com/piquadrat/django-cms-search котором на данный момент отсутствуют тесты, но он станет стандартным инструментом стога сена для django-cms.

Другие вопросы по тегам