У меня есть огромное количество данных в одном JSON, и я хочу передать их в Elasticsearch для выполнения некоторых визуализаций в Kibana. Мой JSON сейчас выглядит примерно так:
[{"field1": "x", "field2": "y"},
{"field1": "w", "field2": "z"}]
...etc
Проведя некоторые исследования, я обнаружил, что лучший способ передать эти данные в Elasticsearch - это использовать Bulk API, но сначала мне нужно переформатировать мои данные, чтобы они выглядели так:
{"index":{"_index": "myindex", "type": "entity_type", "_id": 1}}
{"field1": "x", "field2": "y"}
{"index":{"_index": "myindex", "type": "entity_type", "_id": 2}}
{"field1": "w", "field2": "z"}
...etc
А потом я должен опубликовать этот файл, используя curl.
Все это является частью более крупного проекта Python, поэтому я хотел бы знать, как лучше всего выполнить переформатирование моих данных и как передать их в Elasticsearch с использованием Python. Я думал об использовании регулярных выражений для переформатирования (re.sub и replace), а также посмотрел на объемный помощник эластичного поиска для публикации данных, но не смог найти решение.
Любая помощь высоко ценится, спасибо.