Django Haystack报道连接Solr的“Errno 111:Connection Refused”

时间:2012-04-18 11:09:02

标签: django solr connection django-haystack

由于一个或另一个原因,最近我的Django Haystack Solr应用程序停止了工作。我正在使用Haystack 1.2.7,这是尝试进行Solr查询时的错误:

  

无法使用'(name_auto:test)AND(django_ct:cities.city)'查询Solr:[Errno 111]拒绝连接

显而易见的答案是我的HAYSTACK_SOLR_URL错了,或者Solr没有运行。我检查了这两种可能性,Solr一如既往地运行在与HAYSTACK_SOLR_URL中指定的地址相同的地址上。我可以在网络浏览器中打开它,甚至可以在网络界面上进行查询。

HAYSTACK_SITECONF = 'project.search_sites'
HAYSTACK_SEARCH_ENGINE = 'solr'
HAYSTACK_SOLR_URL = 'http://localhost:8080/solr'

Solr拒绝连接会有另一个原因吗?我怎么检查?我该如何解决?

1 个答案:

答案 0 :(得分:2)

这个问题似乎是由最近更新的Jetty引起的,Jetty是我用来运行Solr的HTTP服务器。它拒绝连接,因为它的设置文件只允许某些用户。所以我编辑了/etc/default/jetty来包含这一行:

JETTY_HOST=0.0.0.0

所以它现在接受所有传入的连接,解决问题。您还可以指定Django将使用的特定连接,以限制滥用的可能性。