JSON Plugin

The JSON plugin (tika-pipes-json) provides an iterator that reads work items from a JSON-lines file (one JSON object per line). It is iterator-only — pair it with a fetcher and emitter.

Interface Component name Class

Iterator

json-pipes-iterator

JsonPipesIterator

JSON Iterator (json-pipes-iterator)

Reads each line of a JSONL file as a work item and emits one FetchEmitTuple per object.

{
  "pipes-iterator": {
    "json-pipes-iterator": {
      "jsonPath": "/data/work-items.jsonl",
      "fetcherId": "fsf",
      "emitterId": "fse"
    }
  }
}

Configuration

Field Default Description

jsonPath

required

Path to the JSONL file on disk.

Unlike the other iterators, this one takes no fetcherId / emitterId: each line names its own fetcher and emitter. The fields are accepted by the config parser (they are inherited from the shared iterator config) but never read.

Notes

  • The file format is JSON-lines (also called NDJSON) — one valid JSON object per line, no surrounding array brackets.

  • Each line must be a serialized FetchEmitTuple: id, fetcher, fetchKey, emitter, emitKey, and optionally fetchRangeStart, fetchRangeEnd, metadata, parse-context, onParseException. Any other field is rejected — the deserializer does not tolerate unknown keys.

  • For columnar work items in a CSV, use the CSV iterator instead.