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

标签 python django solr installation schema

所以我在我的项目 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_createdSolr 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/

相关文章:

python - 来自发布原始数据的django ImageField

python - rawsql 相当于 django 查询集

javascript - 未调用 AJAX 回调

python - 如何在 Django 中的每个管理页面加载上运行 python 函数

search - Solr 架构和通过项目的关键字/标签提升

python - 如何分隔 'di' 单词中的前缀?

python - Boto3 视频从 Heroku 上传 0 字节

python - 基于 Django 类的通用 View : cannot import name TemplateView

javascript - 我可以在 javascript 转换器中访问 solr dataimporter.request 变量吗

Solr:是否可以仅使用 Schema API 更改特定字段的日期格式?