SOLR mysolr pysolr Python 401回复

0 投票
1 回答
546 浏览
提问于 2025-04-21 02:32

如果有谁已经使用过SOLR和一个用来索引/查询SOLR的Python库,能不能帮忙回答以下问题。

我在用mySolr这个Python库,不过还有其他的库(比如pysolr),我觉得问题不在于库本身。

我有一个默认的多核心SOLR设置,所以通常不需要认证。访问管理页面也不需要认证,地址是http://localhost:8080/solr/testcore/admin/

from mysolr import Solr
solr = Solr('http://localhost:8080/solr/testcore/')
response = solr.search(q='*:*')
print("response")
print(response)

solr response

这段代码之前一直能正常工作,但现在我从SOLR那里收到了401的回复……就这样,没有对包含mysolr的Python虚拟环境或SOLR设置做任何更改。可是……肯定是哪里发生了变化,但我找不到线索。

SOLR返回401响应的原因可能是什么呢?

补充信息:这个脚本和更复杂的脚本在另一台电脑上可以正常工作,只是在我现在使用的这台电脑上不行。而且,在浏览器中在网址后面加上“/select?q=:”可以返回正确的结果。所以SOLR的设置是正确的,可能和我电脑本身有关。Windows的某些设置(不管是什么)会影响SOLR如何响应来自Python的请求吗?我已经多次重新安装了Python环境,但还是没有解决问题。

谢谢大家的帮助!

1 个回答

0

问题是:代理。

如果你遇到这种情况,而且你是在代理服务器后面,检查一下你的HTTP和HTTPS环境变量是否被设置了。如果被设置了……这可能会导致Python在不应该使用代理的情况下尝试通过代理连接(比如连接本地服务器时)。

这几个月都没出问题,但突然之间就出现了,所以你是否会遇到这个问题可能取决于你的IT部门是怎么设置代理的,或者在其他地方做了什么更改……

谢谢大家!

撰写回答