VESPA-FEED(1)

NAME
vespa-feed - Feed multiple document operations to Vespa

SYNOPSIS
vespa feed json-file [json-file]... [flags]

DESCRIPTION
Feed multiple document operations to Vespa.

This command can be used to feed large amounts of documents to a Vespa cluster efficiently.

The contents of json-file must be either a JSON array or JSON objects separated by newline (JSONL).

If json-file is a single dash ('-'), documents will be read from standard input.

Once feeding completes, metrics of the feed session are printed to standard out in a JSON format:

•   feeder.operation.count: Number of operations passed to the feeder by the user, not counting retries.

•   feeder.seconds: Total time spent feeding.

•   feeder.ok.count: Number of successful operations.

•   feeder.ok.rate: Number of successful operations per second.

•   feeder.error.count: Number of network errors (transport layer).

•   feeder.inflight.count: Number of operations currently being sent.

•   http.request.count: Number of HTTP requests made, including retries.

•   http.request.bytes: Number of bytes sent.

•   http.request.MBps: Request throughput measured in MB/s. This is the raw operation throughput, and not the network throughput, I.e. using compression does not affect this number.

•   http.exception.count: Same as feeder.error.count. Present for compatibility with vespa-feed-client.

•   http.response.count: Number of HTTP responses received.

•   http.response.bytes: Number of bytes received.

•   http.response.MBps: Response throughput measured in MB/s.

•   http.response.error.count: Number of non-OK HTTP responses received.

•   http.response.latency.millis.min: Lowest latency of a successful operation.

•   http.response.latency.millis.avg: Average latency of successful operations.

•   http.response.latency.millis.max: Highest latency of a successful operation.

•   http.response.code.counts: Number of responses grouped by their HTTP code.

OPTIONS
--compression="auto"
    Whether to compress the document data when sending the HTTP request. Default is "auto", which compresses large documents. Must be "auto", "gzip" or "none"

--connections=8
    The number of connections to use

--deadline=0
    Exit if this number of seconds elapse without any successful operations. 0 to disable (default 0)

--header=[]
    Add a header to all HTTP requests, on the format 'Header: Value'. This can be specified multiple times

-h, --help[=false]
    help for feed

--inflight=0
    The target number of inflight requests. 0 to dynamically detect the best value (default 0)

--progress=0
    Print stats summary at given interval, in seconds. 0 to disable (default 0)

--route=""
    Target Vespa route for feed operations (default "default")

--speedtest=0
    Perform a network speed test using given payload, in bytes. 0 to disable (default 0)

--speedtest-duration=60
    Duration of speedtest, in seconds

--timeout=0
    Individual feed operation timeout in seconds. 0 to disable (default 0)

--trace=0
    Network traffic trace level in the range [0,9]. 0 to disable (default 0)

--verbose[=false]
    Verbose mode. Print successful operations in addition to errors

-w, --wait=0
    Number of seconds to wait for service(s) to become ready. 0 to disable (default 0)

OPTIONS INHERITED FROM PARENT COMMANDS
-a, --application=""
    The application to use (cloud only). Format "tenant.application.instance" - instance is optional

-C, --cluster=""
    The container cluster to use. This is only required for applications with multiple clusters

-c, --color="auto"
    Whether to use colors in output. Must be "auto", "never", or "always"

-i, --instance=""
    The instance of the application to use (cloud only)

-q, --quiet[=false]
    Print only errors

-t, --target="local"
    The target platform to use. Must be "local", "cloud", "hosted" or an URL

-z, --zone=""
    The zone to use. This defaults to a dev zone (cloud only)

EXAMPLE
    $ vespa feed docs.jsonl moredocs.json
    $ cat docs.jsonl | vespa feed -

SEE ALSO
vespa(1)