当我运行以下命令时,尝试将 haystack 2.0.0-beta - solr 与我的 django 项目集成以进行全文搜索
from haystack.query import SearchQuerySet
al = SearchQuerySet().all()
出错了
Failed to query Solr using '*:*': [Errno 111] Connection refused
我该如何解决这个问题?在此先感谢。
当我运行以下命令时,尝试将 haystack 2.0.0-beta - solr 与我的 django 项目集成以进行全文搜索
from haystack.query import SearchQuerySet
al = SearchQuerySet().all()
出错了
Failed to query Solr using '*:*': [Errno 111] Connection refused
我该如何解决这个问题?在此先感谢。
Solr 看起来没有运行,并且您没有提供任何详细信息,因此:
Solr 是一个需要手动启动的独立进程。此外,它需要一个 servlet 容器来运行,通常jetty
或者tomcat
都是基于 java 的(讨论here和here)。根据您的机器,您需要在开始使用 python 或 Django 之前安装并启动它们。如果你是debian,你很可能会这样做apt-get install solr-jetty
,瞧。
安装 solr 后,您需要 pythonpysolr
和pip install pysolr
django haystack的绑定pip install haystack==2.0
。
这里的haystack 文档中有一个教程,这里也有一篇关于安装、启动和配置 solr、jetty、python 和 django 组合的好博文。