Solr:更新时 url 字段出错
Solr: getting error on url field while updating
我正在尝试更新我的 Solr 文档的 url 字段,但出现以下错误
HTTP Error 400: Bad Request
我认为这是因为 url 字段
image_new_path = https://aaa.com/bbb/posts/post_fta6cueqq1497926075564.jpeg
req = urllib2.Request(url=solrPath + '/update/json?commit=true', data='[{"id":"' + docs['id'] + '","image":{"set":'+image_new_path+'}}]')
是否有一些我必须更改的特殊字符?如果是,是哪一个?如何?
Solr 错误:
RequestHandlerBase
org.apache.solr.common.SolrException: Cannot parse provided JSON: Expected ',​' or '}': char=:,​position=41 BEFORE='[{"id":"189",​"image":{"set":https:' AFTER='//aaa.com/bbb/user'
您的 image_new_path
值周围缺少 ""
,您可以通过在其周围添加 ""
来解决此问题:
.. {"set":"'+image_new_path+'"}}
.. 但是你不应该通过自己连接值来手动编写 JSON,因为在转义等方面你必须注意遵循所有 JSON 的规则。
使用 python 中对 json
模块中的 json 的内置支持:
import json
..
.. data=json.dumps([{'id': docs['id'], 'image': {'set': image_new_path}}])
问题是“:”,我必须在“:”之前添加“\”才能使其正常工作。所以现在图像路径变成
https\://aaa/bbb
我正在尝试更新我的 Solr 文档的 url 字段,但出现以下错误
HTTP Error 400: Bad Request
我认为这是因为 url 字段
image_new_path = https://aaa.com/bbb/posts/post_fta6cueqq1497926075564.jpeg
req = urllib2.Request(url=solrPath + '/update/json?commit=true', data='[{"id":"' + docs['id'] + '","image":{"set":'+image_new_path+'}}]')
是否有一些我必须更改的特殊字符?如果是,是哪一个?如何?
Solr 错误:
RequestHandlerBase
org.apache.solr.common.SolrException: Cannot parse provided JSON: Expected ',​' or '}': char=:,​position=41 BEFORE='[{"id":"189",​"image":{"set":https:' AFTER='//aaa.com/bbb/user'
您的 image_new_path
值周围缺少 ""
,您可以通过在其周围添加 ""
来解决此问题:
.. {"set":"'+image_new_path+'"}}
.. 但是你不应该通过自己连接值来手动编写 JSON,因为在转义等方面你必须注意遵循所有 JSON 的规则。
使用 python 中对 json
模块中的 json 的内置支持:
import json
..
.. data=json.dumps([{'id': docs['id'], 'image': {'set': image_new_path}}])
问题是“:”,我必须在“:”之前添加“\”才能使其正常工作。所以现在图像路径变成
https\://aaa/bbb