pysolr:此URL不支持HTTP方法POST

时间:2016-03-16 20:01:10

标签: python-3.x solr pysolr

我是Solr和PySolr的新手,我正在尝试创建一个网络应用程序。我打算使用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]

查找后,我发现输入的网址不一定正确,因此我将其更改为我的收藏网址。

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是正确的,那么如何处理上述错误。

1 个答案:

答案 0 :(得分:4)

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

核心可直接在/solr下使用,因此正确的网址应为http://localhost:8983/solr/gettingstarted/

您还可以在进行查询时在管理界面内的查询界面中看到此信息(URL显示在顶部 - 您对没有选择处理程序的部分感兴趣)。