由于一个或另一个原因,最近我的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拒绝连接会有另一个原因吗?我怎么检查?我该如何解决?
答案 0 :(得分:2)
这个问题似乎是由最近更新的Jetty引起的,Jetty是我用来运行Solr的HTTP服务器。它拒绝连接,因为它的设置文件只允许某些用户。所以我编辑了/etc/default/jetty
来包含这一行:
JETTY_HOST=0.0.0.0
所以它现在接受所有传入的连接,解决问题。您还可以指定Django将使用的特定连接,以限制滥用的可能性。