Django:关于使用Solr和Haystack的问题

时间:2016-01-30 00:22:58

标签: python django solr install schema

所以我做了pip install django-haystack或者我的项目virtualenv文件夹中的命令,我也安装了solr,但现在我对于该做什么感到有点困惑。

我一直收到错误,说solr后端需要安装pysolr?而且我对运行此命令的位置感到困惑? " ./ manage.py build_solr_schema"

我一直试图参考干草堆指南,但它有点含糊不清。请帮帮我!!感谢

1 个答案:

答案 0 :(得分:1)

假设您有 Solr 4.10.4 ,并使用示例目录,该目录包含随时可用的Solr配置。

要安装haystack如果您使用的是virtualenv,请先激活它,然后再运行

pip install django-haystack

要使用 Solr 后端,您还需要在virtualenv中安装pysolr模块

pip install pysolr

您必须在 settings.py 文件中向INSTALLED_APPS添加haystack

INSTALLED_APPS = (
    # ...
    'haystack',
)

你必须在你的 settings.py ifle中设置 - 使用干草堆的搜索引擎后端:

HAYSTACK_CONNECTIONS = {
    'default': {
    'ENGINE': 'haystack.backends.solr_backend.SolrEngine',
    'URL': 'http://127.0.0.1:8983/solr/the_core_you_created'
   },
}

the_core_you_created是您为自己的应用创建的Solr core

现在,为了构建搜索模式,您必须在serach引擎中注册要存储的模型,因此您必须创建SearchIndexes。 创建搜索索引后,您可以构建搜索模式,运行:

python manage.py build_solr_schema

并将结果复制到solr/the_core_you_created/conf/schema.xml

现在你必须重建索引:

python manage.py rebuild_index

然后创建搜索视图和搜索模板。

您可以在docs一书中找到haystack Django by example中的详细步骤和更简洁的内容。