本文整理匯總了Python中SolrClient.SolrClient.delete_doc_by_id方法的典型用法代碼示例。如果您正苦於以下問題:Python SolrClient.delete_doc_by_id方法的具體用法?Python SolrClient.delete_doc_by_id怎麽用?Python SolrClient.delete_doc_by_id使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類SolrClient.SolrClient
的用法示例。
在下文中一共展示了SolrClient.delete_doc_by_id方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: test_index_multiproc
# 需要導入模塊: from SolrClient import SolrClient [as 別名]
# 或者: from SolrClient.SolrClient import delete_doc_by_id [as 別名]
def test_index_multiproc(self):
index = IndexQ(test_config['indexqbase'], 'testq')
solr = SolrClient(test_config['SOLR_SERVER'], devel=True, auth=test_config['SOLR_CREDENTIALS'])
solr.delete_doc_by_id(test_config['SOLR_COLLECTION'],'*')
buff = []
files = []
for doc in self.docs:
files.append(index.add(doc, finalize=True))
index.index(solr,test_config['SOLR_COLLECTION'],threads=10)
solr.commit(test_config['SOLR_COLLECTION'],openSearcher=True)
for doc in self.docs:
res = solr.query(test_config['SOLR_COLLECTION'],{'q':'id:{}'.format(doc['id'])})
self.assertTrue(res.get_results_count()==1)
示例2: test_index_bad_data
# 需要導入模塊: from SolrClient import SolrClient [as 別名]
# 或者: from SolrClient.SolrClient import delete_doc_by_id [as 別名]
def test_index_bad_data(self):
index = IndexQ(test_config['indexqbase'], 'testq')
solr = SolrClient(test_config['SOLR_SERVER'], devel=True, auth=test_config['SOLR_CREDENTIALS'])
if index._is_locked():
index._unlock()
self.assertEqual(index.get_all_as_list(),[])
solr.delete_doc_by_id(test_config['SOLR_COLLECTION'],'*')
todo_file = index.add({'date':'asd'}, finalize=True)
self.assertEqual(index.get_all_as_list()[0],todo_file)
with self.assertRaises(SolrError):
index.index(solr,test_config['SOLR_COLLECTION'])
self.assertEqual(index.get_all_as_list()[0],todo_file)
self.assertFalse(index._is_locked())
示例3: test_complete_compress_basic_re_indexing
# 需要導入模塊: from SolrClient import SolrClient [as 別名]
# 或者: from SolrClient.SolrClient import delete_doc_by_id [as 別名]
def test_complete_compress_basic_re_indexing(self):
log = logging.getLogger()
solr = SolrClient(test_config['SOLR_SERVER'],
devel=True,
auth=test_config['SOLR_CREDENTIALS'])
index = IndexQ(test_config['indexqbase'], 'testq', size = 1, log = log,
compress=True)
solr.delete_doc_by_id(test_config['SOLR_COLLECTION'], '*')
for item in self.docs[1:10]:
index.add(item, finalize=True)
index.index(solr, test_config['SOLR_COLLECTION'])
# At this point items are indexed and are moved into the done directory
# Lets re-index them to make sure all json got properly encoded
files = index.get_all_as_list('_done_dir')
for f in index.get_all_as_list('_done_dir'):
shutil.move(f, index._todo_dir)
index.index(solr, test_config['SOLR_COLLECTION'])
self.assertEqual(files, index.get_all_as_list('_done_dir'))
示例4: ClientTestIndexing
# 需要導入模塊: from SolrClient import SolrClient [as 別名]
# 或者: from SolrClient.SolrClient import delete_doc_by_id [as 別名]
class ClientTestIndexing(unittest.TestCase):
#High Level Client Tests
@classmethod
def setUpClass(self):
self.solr = SolrClient(test_config['SOLR_SERVER'][0], devel=True, auth=test_config['SOLR_CREDENTIALS'])
self.rand_docs = RandomTestData()
self.docs = self.rand_docs.get_docs(50)
for field in test_config['collections']['copy_fields']:
try:
self.solr.schema.delete_copy_field(test_config['SOLR_COLLECTION'],field)
except:
pass
for field in test_config['collections']['fields']:
try:
self.solr.schema.create_field(test_config['SOLR_COLLECTION'],field)
except:
pass
def setUp(self):
self.delete_docs()
self.commit()
def delete_docs(self):
self.solr.delete_doc_by_id(test_config['SOLR_COLLECTION'],'*')
self.commit()
def commit(self):
self.solr.commit(test_config['SOLR_COLLECTION'],openSearcher=True)
sleep(5)
@unittest.skip("Skipping for now")
def test_access_without_auth(self):
if not test_config['SOLR_CREDENTIALS'][0]:
return
solr = SolrClient(test_config['SOLR_SERVER'],devel=True)
with self.assertRaises(ConnectionError) as cm:
solr.query('SolrClient_unittest',{'q':'not_gonna_happen'})
def test_indexing_json(self):
self.docs = self.rand_docs.get_docs(53)
self.solr.index_json(test_config['SOLR_COLLECTION'],json.dumps(self.docs))
self.commit()
sleep(5)
for doc in self.docs:
logging.debug("Checking {}".format(doc['id']))
self.assertEqual(self.solr.query(test_config['SOLR_COLLECTION'],{'q':'id:{}'.format(doc['id'])}).get_num_found(),1)
self.delete_docs()
self.commit()
def test_indexing_conn_log(self):
self.docs = self.rand_docs.get_docs(53)
self.solr.index_json(test_config['SOLR_COLLECTION'],json.dumps(self.docs))
self.commit()
sleep(5)
for doc in self.docs:
logging.debug("Checking {}".format(doc['id']))
self.assertEqual(self.solr.query(test_config['SOLR_COLLECTION'],{'q':'id:{}'.format(doc['id'])}).get_num_found(),1)
logging.info(self.solr.transport._action_log)
self.delete_docs()
self.commit()
def test_index_json_file(self):
self.docs = self.rand_docs.get_docs(55)
with open('temp_file.json','w') as f:
json.dump(self.docs,f)
r = self.solr.stream_file(test_config['SOLR_COLLECTION'],'temp_file.json')
self.commit()
r = self.solr.query(test_config['SOLR_COLLECTION'],{'q':'*:*'})
self.assertEqual(r.get_num_found(),len(self.docs))
self.delete_docs()
self.commit()
try:
os.remove('temp_file.json.gz')
os.remove('temp_file.json')
except:
pass
def test_stream_file_gzip_file(self):
self.docs = self.rand_docs.get_docs(60)
with gzip.open('temp_file.json.gz','wb') as f:
f.write(json.dumps(self.docs).encode('utf-8'))
r = self.solr.stream_file(test_config['SOLR_COLLECTION'],'temp_file.json.gz')
self.commit()
r = self.solr.query(test_config['SOLR_COLLECTION'],{'q':'*:*'})
self.assertEqual(r.get_num_found(),len(self.docs))
self.delete_docs()
self.commit()
try:
os.remove('temp_file.json.gz')
os.remove('temp_file.json')
except:
pass
@unittest.skip("Don't test remote indexing in travis")
def test_index_json_file(self):
self.docs = self.rand_docs.get_docs(61)
#.........這裏部分代碼省略.........
示例5: ClientTestQuery
# 需要導入模塊: from SolrClient import SolrClient [as 別名]
# 或者: from SolrClient.SolrClient import delete_doc_by_id [as 別名]
class ClientTestQuery(unittest.TestCase):
@classmethod
def setUpClass(self):
self.solr = SolrClient(test_config['SOLR_SERVER'][0],devel=True,auth=test_config['SOLR_CREDENTIALS'])
self.rand_docs = RandomTestData()
self.docs = self.rand_docs.get_docs(50)
self.solr.delete_doc_by_id(test_config['SOLR_COLLECTION'],'*')
for field in test_config['collections']['copy_fields']:
try:
self.solr.collections.delete_copy_field(test_config['SOLR_COLLECTION'],field)
except:
pass
for field in test_config['collections']['fields']:
try:
self.solr.collections.create_field(test_config['SOLR_COLLECTION'],field)
except:
pass
#Index Some data
self.solr.index_json(test_config['SOLR_COLLECTION'],json.dumps(self.docs))
self.solr.commit(test_config['SOLR_COLLECTION'],openSearcher=True)
def test_basic_query(self):
r = self.solr.query(test_config['SOLR_COLLECTION'],{'q':'*:*'})
self.assertEqual(r.get_num_found(),len(self.docs))
def test_facet(self):
r = self.solr.query(test_config['SOLR_COLLECTION'],{
'q':'*:*',
'facet':'true',
'facet.field':'facet_test',
})
local_facets = {}
for doc in self.docs:
try:
local_facets[doc['facet_test']] +=1
except:
local_facets[doc['facet_test']] = 1
try:
self.assertDictEqual(local_facets,r.get_facets()['facet_test'])
except Exception as e:
logging.info("local")
logging.info(local_facets)
logging.info("facets")
logging.info(r.get_facets())
raise
def test_facet_with_fq(self):
r = self.solr.query(test_config['SOLR_COLLECTION'],{
'q':'*:*',
'facet':True,
'facet.field':'facet_test',
})
first_facet_field = list(r.get_facets()['facet_test'].keys())[0]
first_facet_field_count = r.get_facets()['facet_test'][first_facet_field]
r = self.solr.query(test_config['SOLR_COLLECTION'],{
'q':'*:*',
'facet':True,
'facet.field':'facet_test',
'fq':'facet_test:{}'.format(first_facet_field)
})
self.assertEqual(r.get_num_found(),first_facet_field_count)
def test_facet_range(self):
res = self.solr.query(test_config['SOLR_COLLECTION'],{
'q':'*:*',
'facet':True,
'facet.range':'price',
'facet.range.start':0,
'facet.range.end':100,
'facet.range.gap':10
})
prices = [doc['price'] for doc in self.docs]
div = lambda x: str(x//10 * 10)
out = {}
for k,g in itertools.groupby(sorted(prices),div):
out[k] = len(list(g)) or 0
self.assertDictEqual(out,res.get_facets_ranges()['price'])
def test_facet_pivot(self):
res = self.solr.query(test_config['SOLR_COLLECTION'],{
'q':'*:*',
'facet':True,
'facet.pivot':['facet_test,price','facet_test,id']
})
out = {}
for doc in self.docs:
if doc['facet_test'] not in out:
out[doc['facet_test']] = {}
if doc['price'] not in out[doc['facet_test']]:
out[doc['facet_test']][doc['price']]=1
else:
out[doc['facet_test']][doc['price']]+=1
self.assertDictEqual(out,res.get_facet_pivot()['facet_test,price'])
def test_get_field_values_as_list(self):
res = self.solr.query(test_config['SOLR_COLLECTION'],{
#.........這裏部分代碼省略.........