import os
import sys
from elasticsearch import Elasticsearch
from elasticsearch import helpers
def load_data(es, index_v, fpw):
'''es: Elasticsearch对象,
index_v: 索引名
fpw: 文件写入对象
'''
query={"query" : {"match_all" : {}}}
scanResp= helpers.scan(client=es, query=query, scroll="20m", index=index_v, timeout="10m")
n = 0
for resp in scanResp:
try:
qid = resp['_id']
except Exception as err:
print('err: %s, resp: %s' % (err, resp), file=sys.stderr)
continue
else:
print(qid, file=fpw)
n += 1
if n % 10000 == 0:
print(n)
if __name__ == '__main__':
host = 'ip'
port = '9200'
config = {'es_server': [host, port]}
es = Elasticsearch(config['es_server'])
index_v = sys.argv[1]
fpw = open(sys.argv[2], 'w')
load_data(es, index_v, fpw)