С CSS, вы можете использовать API Elasticsearch с открытым исходным кодом в Kibana или на сервере ECS для импорта данных в кластер Elasticsearch. Поддерживаются файлы JSON.
- Использование API Elasticsearch с открытым исходным кодом для импорта данных в Kibana: Запустите команды POST для импорта данных.
- Использование API Elasticsearch с открытым исходным кодом для импорта данных на сервере ECS: Запустите команды cURL для импорта данных.
Использование API Elasticsearch с открытым исходным кодом для импорта данных в Kibana
В Kibana вы можете выполнять команды POST для импорта отдельных кусков данных, используя API Elasticsearch с открытым исходным кодом.
- Войдите в консоль управления CSS.
- В навигационной панели слева выберите Кластеры > Elasticsearch чтобы переключиться на Кластеры страница.
- Найдите целевой кластер, и нажмите Откройте Kibana в Операция столбце для входа в Kibana.
- Нажмите Dev Tools в навигационном дереве слева.
- Выполните следующую команду в консоли, чтобы проверить, есть ли в кластере индексы:GET _cat/indices?v
- Если в кластере, в который вы хотите импортировать данные, есть индексы, создавать индекс не требуется. Перейдите к 7.
- Если в кластере нет индексов, перейдите к следующему шагу, чтобы создать индекс.
- Выполните следующую команду, чтобы создать индекс для хранения импортированных данных и создать пользовательское сопоставление для определения типа данных.
Для примера выполните следующую команду, чтобы создать индекс my_store:
Выполните следующую команду для Elasticsearch версии ниже 7.x:
PUT /my_store{"settings": {"number_of_shards": 1},"mappings": {"products": {"properties": {"productName": {"type": "text"},"size": {"type": "keyword"}}}}}Выполните следующую команду для Elasticsearch 7.x и новее:
PUT /my_store{"settings": {"number_of_shards": 1},"mappings": {"properties": {"productName": {"type": "text"},"size": {"type": "keyword"}}}} - Выполните команды в Kibana для импорта данных. В приведённом ниже примере импортируется только один элемент данных:
Выполните следующую команду для Elasticsearch версии ниже 7.x:
POST /my_store/products/_bulk{"index":{}}{"productName":"Latest art shirts for women in 2017 autumn","size":"L"}Выполните следующую команду для Elasticsearch 7.x и новее:
POST /my_store/_bulk{"index":{}}{"productName":"Latest art shirts for women in 2017 autumn","size":"L"}Вывод команды похож на показанный в Рисунок 1. Если значение ошибки поле в результате равно false, данные успешно импортированы.
Рисунок 1 Ответное сообщение

Использование Open-Source Elasticsearch API для импорта данных на ECS Server
На сервере ECS вы можете выполнять команды cURL, используя открытый API Elasticsearch для импорта файлов JSON.
В приведенном ниже примере используется кластер в режиме без безопасности для описания того, как импортировать данные с помощью команд cURL. Для команд для кластера с безопасностью см Доступ к кластеру Elasticsearch с помощью команд cURL.
- Войдите в консоль управления CSS.
- В навигационной панели слева выберите Кластеры > Elasticsearch чтобы перейти к Кластеры странице.
- В списке кластеров получите IP-адрес целевого кластера из Адрес частной сети колонке. Обычно формат IP-адреса:<port> или <host>:<port>,<host>:<port>.
Если кластер имеет только один узел, отображается IP-адрес и номер порта этого узла, например, 10.62.179.32:9200. Если кластер имеет несколько узлов, отображаются IP-адреса и номера портов всех узлов, например, 10.62.179.32:9200,10.62.179.33:9200.
- Войдите в ECS, который вы собираетесь использовать для импорта данных.
- Загрузите JSON-файл в ECS.
Например, сохраните следующие данные в виде JSON‑файла и загрузите файл в ECS:
Для Elasticsearch версии ниже 7.x:
{"index": {"_index":"my_store","_type":"products"}}{"productName":"Autumn new woman blouses 2019","size":"M"}{"index": {"_index":"my_store","_type":"products"}}{"productName":"Autumn new woman blouses 2019","size":"L"}Для Elasticsearch 7.x или новее:
{"index": {"_index":"my_store"}}{"productName":"Autumn new woman blouse 2019","size":"M"}{"index": {"_index":"my_store"}}{"productName":"Autumn new woman blouses 2019","size":"L"} - Выполните следующую команду в каталоге, где в ECS хранится файл JSON, чтобы импортировать файл JSON в кластер Elasticsearch.curl -X PUT "http://{Private network address and port number of the node} /_bulk" -H 'Content-Type: application/json' --data-binary @test.json
Заменить {Private network address and port number of the node} на частный сетевой адрес и номер порта узла в кластере. В случае отказа узла кластера, если кластер содержит несколько узлов, вы можете заменить {Private network address and port number of the node} на частный сетевой адрес и номер порта любого доступного узла в кластере; если кластер содержит только один узел, восстановите этот узел и снова выполните команду. test.json указывает файл JSON для импорта.
NoteЗначение -X параметр является командой, а -H параметр является заголовком сообщения. В предыдущей команде, PUT является значением -X параметра и 'Content-Type: application/json' --data-binary @test.json является значением -H параметр. Не добавляйте -k между параметром и его значением.
Пример: В этом примере предполагается, что вам необходимо импортировать данные в test.json файл в кластер Elasticsearch, где шифрование коммуникаций отключено и приватный сетевой адрес и номер порта одного узла 192.168.0.90 и 9200 соответственно.
- Выполните следующую команду для создания индекса с именем my_store:
Выполните следующую команду для Elasticsearch версии ниже 7.x:
curl -X PUT http://192.168.0.90:9200/my_store -H 'Content-Type: application/json' -d '{"settings": {"number_of_shards": 1},"mappings": {"products": {"properties": {"productName": {"type": "text"},"size": {"type": "keyword"}}}}}'Выполните следующую команду для Elasticsearch 7.x или более поздних:
curl -X PUT http://192.168.0.90:9200/my_store -H 'Content-Type: application/json' -d '{"settings": {"number_of_shards": 1},"mappings": {"properties": {"productName": {"type": "text"},"size": {"type": "keyword"}}}}' - Выполните следующую команду, чтобы импортировать test.json файл:curl -X PUT "http://192.168.0.90:9200/_bulk" -H 'Content-Type: application/json' --data-binary @test.json
В этом случае, если отображается следующая информация, данные успешно импортированы:
{"took":204,"errors":false,"items":[{"index":{"_index":"my_store","_type":"_doc","_id":"DJQkBIwBbJvUd2769Wi-","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1,"status":201}},{"index":{"_index":"my_store","_type":"_doc","_id":"DZQkBIwBbJvUd2769Wi_","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":1,"_primary_term":1,"status":201}}]}
- Выполните следующую команду для создания индекса с именем my_store: