所以我在我的项目 virtualenv 文件夹中执行了 pip install django-haystack 或任何命令,并且我还安装了 solr,但现在我对要做什么有点困惑。
我一直收到错误提示,说 solr 后端需要安装 pysolr?我对在哪里运行这个命令感到困惑? “./manage.py build_solr_schema”
我一直在尝试引用 haystack 指南,但它有点含糊。请帮帮我!!谢谢
最佳答案
假设您有 Solr 4.10.4 并且您使用包含随时可用的 Solr 配置的 example 目录。
要安装 haystack
如果您使用的是 virtualenv,请先激活它然后运行
pip install django-haystack
要使用 Solr 后端,您还需要在您的 virtualenv 中安装 pysolr
模块
pip install pysolr
你必须将 haystack 添加到 settings.py 文件中的 INSTALLED_APPS
INSTALLED_APPS = (
# ...
'haystack',
)
而且您必须在您的 settings.py ifle 中设置供 haystack 使用的搜索引擎后端:
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您为自己的应用创建的。
现在为了构建搜索模式,您必须在搜索引擎中注册要存储的模型,因此您必须创建 SearchIndexes
.
创建搜索索引后,您可以构建搜索架构,运行:
python manage.py build_solr_schema
并将结果复制到solr/the_core_you_created/conf/schema.xml
现在你必须重建索引:
python manage.py rebuild_index
然后创建搜索 View 和搜索模板。
您可以在 haystack docs 中找到详细步骤并且 - 更简洁 - 在 Django by example 中书。
关于python - Django:关于使用Solr和Haystack的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35096454/