Джанго Хейстек - нет модуля с именем 'haystack.backends.elasticsearch5_backend' - PullRequest
0 голосов
/ 01 октября 2019

Я следую инструкциям по установке согласно документации стога сена http://docs.haystacksearch.org/en/master/tutorial.html#installation и установке поисковой системы https://django -haystack.readthedocs.io / en / master / installation_search_engines.html #asticsearch

Я установил Elasticsearch 5.1.16, который указан как совместимый, и поместил настройки, в руководстве по установке приведены только примеры для Elasticsearch версий 1 и 2, но указано, что поддерживается 5.

, поэтомуЯ перешел на версию 5 в настройках

    'default': {
        'ENGINE': 'haystack.backends.elasticsearch5_backend.Elasticsearch5SearchEngine',
        'URL': 'http://127.0.0.1:9200/',
        'INDEX_NAME': 'haystack',
    },
}

Я также прошел репо и вижу, что там есть версия 5

enter image description here

но когда я запускаю свой сервер, я получаю сообщение об ошибке:

return _bootstrap._gcd_import(name[level:], package, level)
    ModuleNotFoundError: No module named 'haystack.backends.elasticsearch5_backend'

, но когда я просматриваю структуру папок, он не устанавливает файлы версии 5

root@4c1197e002e8:/myapp/# ls /usr/local/lib/python3.6/site-packages/haystack/backends/
__init__.py                __pycache__/               elasticsearch2_backend.py  elasticsearch_backend.py   simple_backend.py          solr_backend.py            whoosh_backend.py

и я использую ту же версию, что и git-репо, в котором есть 5 бэкэндов?

root @ 4c1197e002e8: / myapp / # pip freeze |grep hay django-haystack == 2.8.1

EDIT: он также уже установлен в мои установленные приложения:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.humanize',
    'haystack',
...

кто-нибудь поможет мне, что здесь отсутствует? Спасибо

Ответы [ 2 ]

0 голосов
/ 01 октября 2019

Я только что установил pip git + github.com / django-haystack / django-haystack, и теперь там находится бэкэнд версии 5.

0 голосов
/ 01 октября 2019

Вам нужно добавить 'haystack' в ваше установленное приложение

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',

# Added.
'haystack',

# Then your usual apps...
'blog',

]

...