django-haystackНачало работы с django-haystack


замечания

В этом разделе представлен обзор того, что такое django-haystack, и почему разработчик может захотеть его использовать.

Следует также упомянуть о любых крупных предметах в django-haystack и ссылки на связанные темы. Поскольку документация для django-haystack является новой, вам может потребоваться создать начальные версии этих связанных тем.

Версии

Версия Дата выхода
2.5.1 2016-10-28
2.5.0 2016-07-12
2.4.1 2015-10-29
2.4.0 2015-06-09
2.3.2 2015-11-11
2.3.1 2014-09-22
2.3.0 2014-09-19
2.2.1 2014-09-03
2.2.0 2015-08-03
2.1.0 2013-07-28
2.0.0 2013-05-12

Установка или настройка

Установка пакета haystack

pip install django-haystack
 

конфигурация

Добавьте haystack в INSTALLED_APPS вашего проекта внутри вашего файла settings.py :

# settings.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',

    # Put haystack with above your project's apps
    'haystack',
    
    'myproject_app',
]
 

Теперь добавьте настройки для вашего поиска. В настоящее время Haystack поддерживает: solr, elasticsearch, whoosh и xapian.

Solr:

HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'haystack.backends.solr_backend.SolrEngine',
        'URL': 'http://127.0.0.1:8983/solr'
        # ...or for multicore...
        # 'URL': 'http://127.0.0.1:8983/solr/mysite',
    },
}
 

Elasticsearch:

HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
        'URL': 'http://127.0.0.1:9200/',
        'INDEX_NAME': 'haystack',
    },
}
 

Свист:

import os

HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'haystack.backends.whoosh_backend.WhooshEngine',
        'PATH': os.path.join(os.path.dirname(__file__), 'whoosh_index'),
    },
}
 

Xapian:

import os

HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'xapian_backend.XapianEngine',
        'PATH': os.path.join(os.path.dirname(__file__), 'xapian_index'),
    },
}