pysolr:此 url 不支持 HTTP 方法 POST

pysolr: HTTP method POST not supported by this url

我是 Solr 和 PySolr 的新手,我正在尝试创建一个 web-app。我打算使用 PySolr,但是当我尝试 运行 示例脚本时出现错误。详情如下:

import pysolr

# Setup a Solr instance. The timeout is optional.
solr = pysolr.Solr('http://localhost:8983/solr/', timeout=10)

# How you'd index data.
solr.add([
    {
        "id": "doc_1",
        "title": "A test document",
    },
    {
        "id": "doc_2",
        "title": "The Banana: Tasty or Dangerous?",
    },
])

然后我得到一个错误:

pysolr.SolrError: Solr responded with an error (HTTP 404): [Reason: None]

查了一下发现输入的URL肯定不对,所以改成我collection的URL.

solr = pysolr.Solr('http://localhost:8983/solr/#/gettingstarted/', timeout=10)

现在我得到以下错误:

pysolr.SolrError: Solr responded with an error (HTTP 405): [Reason: None] 
HTTP method POST is not supported by this URL

上面两个错误有很多问题,但我找到的所有资源大多是处理其他一些特定场景。所以,我的问题是如何给 pySolr 正确的 URL,如果第二个 URL 是正确的,那么如何处理上述错误。

URL 的 # 部分永远不会发送到服务器 - 它是一个本地锚点,只有客户端本身应该访问。您正在使用的 URL 是管理界面 URL,管理界面中的 javascript 用于设置要显示的当前页面。

内核直接在/solr下可用,所以正确的URL应该是http://localhost:8983/solr/gettingstarted/.

您也可以在进行查询时在管理界面内的查询界面中看到这一点(URL 显示在顶部 - 您对没有 select 处理程序的部分感兴趣) .