stack es helpers bulk-ingest cli command
Auth required
Scope: global
elastic stack es helpers bulk-ingest --index <index> [options]
Bulk-ingest documents from file, directory, or stdin with automatic batching, concurrency, and retries.
Behaviour flags:
--dry-run — validate all inputs and exit without performing any action
--indexstringrequired- Target index
--data-filestring- Path to data file (NDJSON, JSON array, or CSV)
--data-dirstring- Path to directory of data files to ingest
--globstring- Glob pattern for --data-dir file matching (default: **/.json, or **/.csv when --source-format csv)
--no-recursive- Do not recurse into subdirectories when using --data-dir
--source-formatenum-
Input file format: csv, or json-based (ndjson vs json array is auto-detected from content; "ndjson" and "json" behave identically here)
Values: ndjson, json, csv
Default:
ndjson --csv-delimiterstring- CSV column delimiter (default: ",")
--csv-columnsstring- Comma-separated list of column names (overrides CSV header row)
--skip-header- Skip the first row of a CSV file
--flush-bytesnumber-
Batch size threshold in bytes
Default:
5242880 --concurrencynumber-
Number of parallel bulk requests
Default:
5 --retriesnumber-
Max retries per failed batch
Default:
3 --retry-delaynumber-
Initial retry delay in ms (doubles each attempt)
Default:
1000 --pipelinestring- Ingest pipeline name
--routingstring- Custom routing value
--input-filestring- path to a JSON file to use as command input
--dry-run- validate all inputs and exit without performing any action (preview changes without applying them)
--no-validate- skip input validation and send the request as-is
--output-fieldsstring- comma-separated list of fields to include in output (dot-notation supported)
--output-templatestring- Mustache-like template for custom text output (e.g. "{{id}}: {{name}}")
--json-
output as JSON