我是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是正确的,那么如何处理上述错误。
答案 0 :(得分:4)
URL的#
部分永远不会发送到服务器 - 它只是客户端本身应该访问的本地锚点。您使用的网址是管理界面中的javascript用于设置要显示的当前网页的管理界面网址。
核心可直接在/solr
下使用,因此正确的网址应为http://localhost:8983/solr/gettingstarted/
。
您还可以在进行查询时在管理界面内的查询界面中看到此信息(URL显示在顶部 - 您对没有选择处理程序的部分感兴趣)。