Django:关于使用 Solr 和 Haystack 的问题
Posted
技术标签:
【中文标题】Django:关于使用 Solr 和 Haystack 的问题【英文标题】:Django: Questions About Using Solr and Haystack 【发布时间】:2016-05-07 21:25:23 【问题描述】:所以我做了 pip install django-haystack 或我的项目 virtualenv 文件夹中的任何命令,并且我还安装了 solr,但现在我对该怎么做有点困惑。
我不断收到错误消息,说 solr 后端需要安装 pysolr?我很困惑我在哪里运行这个命令? "./manage.py build_solr_schema"
我一直在尝试参考 haystack 指南,但它有点含糊。请帮帮我!!谢谢
【问题讨论】:
【参考方案1】:假设您有 Solr 4.10.4 并且您使用 example 目录,其中包含可立即使用的 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 使用的搜索引擎后端:
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
然后创建一个搜索视图和一个搜索模板。
您可以在 haystack docs 和 - 更简洁的 - 在 Django by example book 中找到详细步骤。
【讨论】:
以上是关于Django:关于使用 Solr 和 Haystack 的问题的主要内容,如果未能解决你的问题,请参考以下文章
使用 Django 自动设置 Apache Solr - AWS Elastic Beanstalk 上的 Oscar