我们现在有这样的业务需求,需要将数据的变化同步到solr中,post方法,通过url传递值。
其中update和insert操作,其实是一样的
headers = {'content-type': 'application/json'}
data={"add":{"doc":{"id":1,"title":"title1","description":"test1"}}}
params={"boost":1,"overwrite": "true", "commitWithin": 1000}
r=requests.post(solr_url_update,json=data,params=params,headers=headers)
print r.text
如果输出的是
{
"responseHeader":{
"status":0,
"QTime":xx,
}
即status为0,则表示操作成功,若在solr中有"id"为1的数据,则进行更新操作,因为"overwrite"为"true",会把原有的数据覆盖。若没有,则进行插入操作。
删除操作
headers = {"content-type" : "text/xml" }
params = {"commit" : "true" }
data="<delete><id>1</id></delete>"
r=requests.post(solr_url_delete,data=data,params=params,headers=headers)
print r.text
若输出的status为0,则表示删除成功