django-haystackdjango-haystack入门


备注

本节概述了django-haystack是什么,以及开发人员为什么要使用它。

它还应该提到django-haystack中的任何大型主题,并链接到相关主题。由于django-haystack的文档是新的,您可能需要创建这些相关主题的初始版本。

版本

发布日期
2.5.1 2016年10月28日
2.5.0 2016年7月12日
2.4.1 2015年10月29日
2.4.0 2015-06-25
2.3.2 2015年11月11日
2.3.1 2014年9月22日
2.3.0 2014年9月19日
2.2.1 2014年9月3日
2.2.0 2015年8月3日
2.1.0 2013年7月28日
2.0.0 2013年5月12日

安装或设置

安装haystack包

pip install django-haystack
 

组态

haystack 添加到settings.py 文件中项目的INSTALLED_APPS 中:

# 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'),
    },
}