0
私はいくつかのjsonデータをMongoDbにロードしました。例えばdoc1 = {"id":1、 "name": "x1"}、doc2 = {"id":2、 "name": "x2"}、doc3 = {"id":3、 "name" x3 "}。今私はこのデータをMongoDbからElasticsearchにインポートします。私はこのコードを書いた。MongoDbからPythonを介してElasticsearchにデータをロード
mgclient = MongoClient()
db = mgclient['light-test']
col = db['test']
es1 = Elasticsearch()
print ("Connected", es1.info())
es1.indices.create(index='light-test', ignore=400)
# Pull from mongo and dump into ES using bulk API
actions = []
for data in tqdm(col.find(), total=col.count()):
data.pop('_id')
action = {
"_index": 'light-test',
"_type": 'test',
"_source": data
}
actions.append(action)
print("complete")
# Dump x number of objects at a time
if len(actions) >= 100:
deque(parallel_bulk(es1, actions), maxlen=0)
actions = []
print("done")
a = es1.search(index='light-test', body={
'query': {
'match_all': {
}
}
})
print(a)
問題が返されるクエリです。ヒット数は空白で表示されますが、jsonファイルは返されます。 results
MongoDbからElasticsearchにデータをインポートするのを手伝ってください。