【问题标题】:django-haystack: Failed to add documents to Solr: [Reason: Error 404 Not Found]django-haystack:无法将文档添加到 Solr:[原因:找不到错误 404]
【发布时间】:2015-06-04 09:06:07
【问题描述】:

我将 django-haystack (v 2.3.1) 与 solr (v 5.0.0) 和 pysolr (v 3.0.0) 一起使用。我一直在关注tutorial,并设置了类似的myapp/search_indexes.pysearch/indexes/myapp/mymodel_text.txt 文件。

./manage.py build_solr_schema > schema.xml 工作正常,我已将其复制到 $SOLR_HOME/conf/schema.xml。

当我尝试./manage.py rebuild_index 时出现问题。首先,我被要求确认:

警告:这将无法挽回地从连接“默认”的搜索索引中删除所有内容。
之后您的选择是从备份中恢复或通过rebuild_index 命令重建。
您确定要继续吗? [是/否]是的

然后,它失败了:

从索引中删除所有文档,因为您说过。
清除 Solr 索引失败:[原因:找不到错误 404]
已删除所有文档。
索引 6 个故事
向 Solr 添加文档失败:[原因:找不到错误 404]

我的连接设置是:

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

如果我导航到这个网址,我可以看到 solr 管理页面。我确保端口 8983 对 solr 开放(以及 8000 对 Django 开发服务器开放)。

我觉得我可能没有提供足够的连接信息,但还有什么要检查的?

更新
虽然我解决了这个问题,但还有更多问题要解决,all 已通过 使用 solr (v.4.7.0) 修复,因为 django-haystack 还没有准备好solr 5(有一个与此相关的问题,但我在 github 上找不到它。

【问题讨论】:

    标签: solr django-haystack pysolr


    【解决方案1】:

    感谢 user366722 建议在设置中指定核心。但是,我忽略了创建核心这一更基本的步骤!

    解决方案:
    创建核心,指定核心的名称(例如“默认”)和端口(例如 8983):

    $bin/solr create_core -c default -p 8983

    然后,只需在您的 haystack URL 设置中指定核心的名称(例如“默认”):

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

    完成!

    现在,我明白了

    从索引中删除所有文档,因为您说过。
    已删除所有文档。
    索引 3 个故事

    更新
    在撰写本文时,我还切换到 solr 4.7.0 以使其工作,因为 haystack 还没有为 solr 5.x 做好准备

    【讨论】:

    • bin/solr create_core -c default -p 8983 你能告诉我哪个bin吗?!谢谢
    • 哪个 bin 取决于您的安装位置
    【解决方案2】:

    遇到了同样的问题,找到了答案:https://stackoverflow.com/a/29833997/366722 您需要在 URL 中指定核心

    【讨论】:

    • 您使用的是哪个版本的 solr?显然the structure of the solr.xml file has changed:“简而言之,[从 solr v5.0] 已被自动发现核心取代。”由于我当时放弃了,我不确定 django-haystack 是否能够为 solr v5 生成兼容的 solr.xml 文件(即没有 )。
    • 没错。我正在使用 5.1.0 并使用 haystack 的旧文档进行设置,该文档使用 4.x。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-02
    • 1970-01-01
    • 1970-01-01
    • 2019-07-29
    • 2013-06-13
    • 2018-10-21
    • 1970-01-01
    相关资源
    最近更新 更多