首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在尝试向solr添加数据时使用pysolr获取400错误

在尝试向solr添加数据时使用pysolr获取400错误
EN

Stack Overflow用户
提问于 2021-04-14 02:08:39
回答 2查看 683关注 0票数 1

使用pysolr尝试用Python3.9向solr添加文档,即使只有一个或两个字段,也会低于错误400。我这里使用的字段是动态字段。连接到solr没有问题。

代码语言:javascript
运行
复制
#/usr/bin/python
import pysolr
solr = pysolr.Solr('http://localhost:8080/solr/', always_commit=True)
if solr.ping():
    print('connection successful')

docs = [{'id':'123c', 's_chan_name': 'TV-201'}]
solr.add(docs)

res = solr.search('123c')
print(res)

出现以下错误:

代码语言:javascript
运行
复制
connection successful 
Traceback (most recent call last):   
File "/tmp/test-solr.py", line 8, in <module>
        solr.add(docs)   
File "/usr/local/lib/python3.9/site-packages/pysolr.py", line 1042, in add
        return self._update(   File "/usr/local/lib/python3.9/site-packages/pysolr.py", line 568, in
    _update
       return self._send_request(   File "/usr/local/lib/python3.9/site-packages/pysolr.py", line 463, in
    _send_request
        raise SolrError(error_message % (resp.status_code, solr_message)) 
        pysolr.SolrError: Solr responded with an error (HTTP 400): [Reason: None] 
        <html><head><meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
        <title>Error 400 Unexpected character &apos;[&apos; (code 91) in prolog;
        expected &apos;<&apos; at [row,col {unknown-source}]: [1,1]</title>
        </head><body><h2>HTTP ERROR 400</h2><p>Problem accessing /solr/update/. 
        Reason:<pre>    Unexpected character &apos;[&apos; (code 91) in prolog; 
        expected &apos;<&apos; at [row,col {unknown-source}]: [1,1]</pre>
        </p><hr><a href="http://eclipse.org/jetty">
        Powered by Jetty://9.4.15.v20190215</a><hr/></body></html>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-18 00:36:48

我建议查看调试日志(可能需要使用logging.basicConfig()来启用它们),并测试它正在使用的URL。根据您的Solr配置,可能会出现这样的情况,即您的Solr需要在末尾具有核心(例如http://localhost:8983/solr/mycore)。

一般来说,大多数像这样的报告,我们得到的结果是奇怪的人如何配置Solr。除了调试日志记录之外,我强烈建议查看测试套件,因为它可以完成运行Solr所需的一切,并且可以成为比较的方便点:

https://github.com/django-haystack/pysolr

票数 1
EN

Stack Overflow用户

发布于 2021-04-14 05:37:10

代码语言:javascript
运行
复制
solr.add method supports only one attribute 
docs = {'id':'123c', 's_chan_name': 'TV-201'}
solr.add(docs)

它不适合于可迭代。

代码语言:javascript
运行
复制
docs = [{'id':'123c', 's_chan_name': 'TV-201'}]
solr.add_many(docs)

会起作用的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67084587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档