尝试将数据添加到 solr 时,使用 pysolr 出现 400 错误

时间:2021-04-14 02:08:39

标签: python python-3.x pysolr

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

SELECT * 
FROM db.table 
HAVING COUNT(id) > 5

出现以下错误:

#/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)

2 个答案:

答案 0 :(得分:1)

我建议您查看调试日志(这可能需要您使用 logging.basicConfig() 来启用它们)并自己测试它使用的 URL。根据您的 Solr 配置,您的 Solr URL 可能需要在末尾包含核心(例如 http://localhost:8983/solr/mycore)。

一般来说,我们得到的大多数此类报告在某人如何配置 Solr 方面都很奇怪。除了调试日志之外,我强烈建议您查看测试套件,因为它可以完成运行 Solr 所需的一切,并且可以作为比较的方便点:

https://github.com/oesmith/gatt-xml

答案 1 :(得分:0)

solr.add method supports only one attribute 
docs = {'id':'123c', 's_chan_name': 'TV-201'}
solr.add(docs)

它不适合迭代。

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

它会起作用