Объемный индекс Elasticsearch в порциях с использованием PyEs
У меня есть простой скрипт на Python для индексации CSV-файла, содержащего 1 миллион строк:
import csv
from pyes import *
reader = csv.reader(open('data.csv', 'rb'))
conn = ES('127.0.0.1:9200', timeout=20.0)
counter = 0
for row in reader:
try:
data = {"name":row[5]}
conn.index(data,'namesdb',counter, bulk=True)
counter += 1
except:
pass
Это работает довольно хорошо, но, как мы идем на тысячи, все это замедляется в геометрической прогрессии.
Я думаю, если бы я сделал индекс в меньших порциях, ES будет работать лучше.
Есть ли более эффективный способ сделать это? Поможет ли задержка сна ()? или есть простой способ разбить CSV на более мелкие куски программно?
Благодарю.