Ну, нет лучшего способа с точки зрения подготовки данных. Единственное, что вы можете сделать, это подготовить данные программно.
Вы можете просто написать код для создания желаемого JSON и отправить его через _bulk
API.
В идеале, лучше всего выполнить индексацию через специальное приложение под названием indexer
, которое фактически будет ждать пакета документов, например, например. 50
или 100
собираются и затем программно выполняют API _bulk
.
Или вместо такой пакетной обработки вы можете получить документ в виде документа, т. Е. event based
, используя очереди сообщений. (Лучший подход для минимизации задержки в процессе индексации)
Другой вариант - создать входной файл, скажем, data.json
(чисто пакетная обработка), используя простую Java-программу или любой другой язык программирования, который вы используете, добавьте все нужные вам документы программно и используйте команду CURL для отправки запроса, как показано ниже. :
$ curl -s -XPOST <host_name>:9200/_bulk --data-binary @data.json
Таким образом, для этого indexer
приложения вы можете добавить расписание, а также почтовые уведомления таким образом, чтобы вы могли узнать состояние каждого запуска задания и график времени, например, когда запускать каждый день / неделю в зависимости от вашего требование.
Ото, вы можете использовать Logstash
. Извините, это не лучший ответ, но я надеюсь, что это поможет.