首页 > 代码库 > 从老solr导入新solr
从老solr导入新solr
#!/usr/bin/python
import solr
import re
import urllib
import pycurl
import cStringIO
import collections
import operator
import string
import json
import pysolr
def solr_update(value):
pass
def function(value):
value_1={}
keys=value.keys()
t1=value[keys[0]]
t2=keys[0]
for ii in range(len(keys)-1):
if t1 < value[keys[ii+1]]:
t1=value[keys[ii+1]]
t2=keys[ii+1]
del value[t2]
value_1[t2]=t1
return (value_1,value)
def dict_sort(value):
result={}
i=0
while True:
aaa=function(value)
i+=1
result[i]=aaa[0]
if len(aaa[1]) == 1:
result[i]=aaa[1]
break
return result
def solr_1(value):
test_1=‘http://10.67.15.63:8800/solr/collection1/select?q=userid:‘+value+‘&wt=json&indent=true‘
buf=cStringIO.StringIO()
c=pycurl.Curl()
c.setopt(c.URL,test_1)
c.setopt(c.WRITEFUNCTION,buf.write)
c.perform()
d=buf.getvalue()
e=d.split(‘\n‘)
for i in e:
if i.find(‘numFound‘) != -1:
num=i.split(":")[1].split(",")[0]
num_1=num.split(" ")
num_2=num_1[0].split("<")[0]
if value not in ak_list_time:
ak_list_time[num_2]=num_1[2].split("=")[1]
return ak_list_time
def solr_data(value):
test_2=‘http://10.67.15.63:8800/solr/collection1/select?q=userid:‘+value+‘&wt=json&indent=true‘
buf=cStringIO.StringIO()
c=pycurl.Curl()
c.setopt(c.URL,test_2)
c.setopt(c.WRITEFUNCTION,buf.write)
c.perform()
d=buf.getvalue()
e=json.loads(d)
solr_data=http://www.mamicode.com/e[‘response‘][‘docs‘]
#print solr_data
return solr_data
#for item in e[‘response‘][‘docs‘]:
# print item[‘content‘]
if __name__ == ‘__main__‘:
ak_list_time={}
dict_1={}
list_1=[]
a=open(‘/home/mysql.txt‘,‘r‘)
b=a.readlines()
s=pysolr.Solr(‘http://10.13.144.225:8983/solr/‘)
for d in b:
k=solr_1(d)
for kk in k.keys():
dict_1[kk]=int(k[kk][1:-1])
dd=sorted(dict_1.iteritems(),key=operator.itemgetter(1))
print dd
for kkk in dd:
if kkk[1] != 0:
g=solr_data(kkk[0])
for item_2 in g:
del item_2[‘_version_‘]
s.add(g)
本文出自 “expect批量同步数据” 博客,请务必保留此出处http://4249964.blog.51cto.com/4239964/1536030