簡體   English   中英

Solr:更新時在URL字段上出現錯誤

[英]Solr: getting error on url field while updating

我正在嘗試更新Solr文檔的url字段,但出現以下錯誤

HTTP錯誤400:錯誤的請求

我認為是因為網址字段

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規則。

json模塊中使用python中對json的內置支持:

import json

..

.. data=json.dumps([{'id': docs['id'], 'image': {'set': image_new_path}}])

甚至更好的方法是使用Solr庫,例如pysolrmysolr

問題是“:”,我必須在“:”之前添加“ \\”以使其起作用。 所以現在圖像路徑變為

https\://aaa/bbb

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM