ZG1*_*101 9 solr pysolr django-haystack
我正在使用django-haystack(v 2.3.1)与solr(v 5.0.0)和pysolr(v 3.0.0).我一直在下面的教程,并建立了类似myapp/search_indexes.py和search/indexes/myapp/mymodel_text.txt文件.
./manage.py build_solr_schema > schema.xml 工作正常,我已将其复制到$ SOLR_HOME/conf/schema.xml.
我尝试时会出现问题./manage.py rebuild_index.首先,我要求确认:
警告:这将从连接"default"中的搜索索引中无可挽回地删除所有内容.
此后您的选择是从备份还原或通过rebuild_index命令重建.
你确定要继续吗?[y/N] y
然后,它失败了:
从您的索引中删除所有文档,因为您这样说.
无法清除Solr索引:[原因:未找到错误404]
已删除所有文档.
索引6个故事
无法向Solr添加文档:[原因:找不到错误404]
我的连接设置是:
#settings.py
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.solr_backend.SolrEngine',
'URL': 'http://127.0.0.1:8983/solr',
},
}
Run Code Online (Sandbox Code Playgroud)
如果我导航到此网址,我可以看到solr管理页面.我确保端口8983对于solr是开放的(以及Django开发服务器的8000).
我觉得我可能没有提供足够的连接信息,但还有什么可以检查?
更新:
虽然我解决了这个问题,但还有更多问题,所有这些都是通过使用solr(v.4.7.0)来修复的,因为django-haystack还没有为solr 5做好准备(有一个与此相关的问题但是我再也无法在github上找到它.
感谢user366722建议在设置中指定核心.但是,我忽略了创建核心的更基本步骤!
解决方案:
创建核心,指定核心名称(例如'default')和端口(例如8983):
$bin/solr create_core -c default -p 8983
然后,只需在haystack URL设置中指定核心名称(例如'default'):
#settings.py
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.solr_backend.SolrEngine',
'URL': 'http://127.0.0.1:8983/solr/default',
},
}
Run Code Online (Sandbox Code Playgroud)
完成!
现在,我明白了
从您的索引中删除所有文档,因为您这样说.
删除所有文件.
索引3个故事
更新:
在撰写本文时,我还切换到solr 4.7.0以使其工作,因为haystack还没有为solr 5.x做好准备
| 归档时间: |
|
| 查看次数: |
2841 次 |
| 最近记录: |