Взгляните на Elasticsearch Bulk API .
По сути, вам нужно создать тело массового запроса и отправить его на ваш URL-адрес "https://{elastic -endpoint} / _ массовый".
В следующем примере показан массовый запрос на вставку 3 записей json в ваш индекс с именем «my_index»:
{ "index" : { "_index" : "my_index", "_type" : "_doc", "_id" : "1" } }
{ "cat1" : "food 1", "cat2": "wine 1", "cat3": "lunch 1" }
{ "index" : { "_index" : "my_index", "_type" : "_doc", "_id" : "2" } }
{ "cat1" : "food 2", "cat2": "wine 2", "cat3": "lunch 2" }
{ "index" : { "_index" : "my_index", "_type" : "_doc", "_id" : "3" } }
{ "cat1" : "food 3", "cat2": "wine 3", "cat3": "lunch 3" }
, где каждая запись json представлена 2 объектами json.
Так что, если вы запишите тело вашего массового запроса в файл с именем post-data.txt , вы можете опубликовать его с помощью Python примерно так:
with open('post-data.txt','rb') as payload:
r = requests.post('https://your-elastic-endpoint/_bulk', auth=awsauth,
data=payload, ... add more params)
В качестве альтернативы, вы можете попробовать Pythonasticsearch оптовые помощники .