Я пытаюсь добавить файл json в эластичный поиск, который содержит около 30 000 строк, и он неправильно отформатирован. Я пытаюсь загрузить его через Bulk API, но не могу найти способ правильно отформатировать его, который действительно работает. Я использую Ubuntu 16.04LTS.
Это формат JSON:
{
"rt": "2018-11-20T12:57:32.292Z",
"source_info": { "ip": "0.0.60.50" },
"end": "2018-11-20T12:57:32.284Z",
"severity": "low",
"duid": "5b8d0a48ba59941314e8a97f",
"dhost": "004678",
"endpoint_type": "computer",
"endpoint_id": "8e7e2806-eaee-9436-6ab5-078361576290",
"suser": "Katerina",
"group": "PERIPHERALS",
"customer_id": "a263f4c8-942f-d4f4-5938-7c37013c03be",
"type": "Event::Endpoint::Device::AlertedOnly",
"id": "83d63d48-f040-2485-49b9-b4ff2ac4fad4",
"name": "Peripheral allowed: Samsung Galaxy S7 edge"
}
Я знаю, что формат для Bulk API требует {"index":{"_id":*}}
перед каждым объектом json в файле, который будет выглядеть следующим образом:
{"index":{"_id":1}}
{
"rt": "2018-11-20T12:57:32.292Z",
"source_info": { "ip": "0.0.60.50" },
"end": "2018-11-20T12:57:32.284Z",
"severity": "low",
"duid": "5b8d0a48ba59941314e8a97f",
"dhost": "004678",
"endpoint_type": "computer",
"endpoint_id": "8e7e2806-eaee-9436-6ab5-078361576290",
"suser": "Katerina",
"group": "PERIPHERALS",
"customer_id": "a263f4c8-942f-d4f4-5938-7c37013c03be",
"type": "Event::Endpoint::Device::AlertedOnly",
"id": "83d63d48-f040-2485-49b9-b4ff2ac4fad4",
"name": "Peripheral allowed: Samsung Galaxy S7 edge"
}
Если я вставлю идентификатор индекса вручную, а затем использую это выражение curl -s -H "Content-Type: application/x-ndjson" -XPOST localhost:92100/ivc/default/bulk?pretty --data-binary @results.json
, он будет загружен без ошибок.
У меня вопрос, как я могу добавить индексный идентификатор {"index":{"_id":*}}
к каждой строке json, чтобы он был готов к загрузке? Очевидно, что идентификатор индекса должен добавлять +1 к каждой строке, есть ли способ сделать это из CLI?
Извините, если этот пост не выглядит должным образом, я прочитал миллионы постов в Stack Overflow, но это мой первый! # Отчаянные
Большое спасибо заранее!