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

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

我一直收到一个错误,说solr后端需要安装pysolr?而且我很困惑我在哪里运行这个命令? “./manage.py build_solr_schema”

我一直试图参考干草堆指南,但它有点模糊.请帮帮我!!谢谢

最佳答案 假设您有Solr 4.10.4,并使用包含即用型Solr配置的示例目录.

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

pip install django-haystack

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

pip install pysolr

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

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

然后创建一个搜索视图和一个搜索模板.

您可以在haystack docs中找到详细步骤,并在Django by example书中找到更简洁的步骤.

点赞