JSON Parser Stage
JSON parsing converts JSON content from a single document field into one or more new documents. This parser uses Solr’s
JsonRecordReader to split JSON into sub-documents.
|
When entering configuration values in the UI, use unescaped characters, such as \t for the tab character. When entering configuration values in the API, use escaped characters, such as \\t for the tab character.
|
Parses JSON documents with optional splitting and mappings
id - string
Default: 25c7cc85-e2f3-450c-ade1-b300fcc4cbf9
label - string
A label for this Parser Stage
<= 255 characters
enabled - boolean
Default: true
mediaTypes - array[string]
Documents with a media type on this list will be matched by this parser stage. See inheritMediaTypes / use default media types for more.
inheritMediaTypes - boolean
Each parser stage has a built-in list of media types it handles by default. If this setting is true, that list will be used along with any optional additional types provided in the mediaTypes list. If this setting is false, this stage will only be selected for media types in the mediaTypes list, and the mediaTypes list becomes a mandatory property which must have at least one valid media type.
Default: true
pathPatterns - array[object]
Specify a file name or pattern that must be matched for this parser stage to run. Forward slashes ("/") are used to join names of files inside archives with the archive name.
object attributes:{syntax
: {
display name: Pattern type
type: string
}pattern
: {
display name: File name or pattern
type: string
}}
errorHandling - string
Default: mark
Allowed values: ignorelogfailmark
outputFieldPrefix - string
Fields extracted by this parser will be prefixed with this string. The remainder of the field name will be as detected in the stream
<= 20 characters
Match pattern: ^$|^[A-Za-z_][A-Za-z0-9_\-\.]+$
rootPath - string
Use only children of this JSON pointer.
includePath - boolean
Include parent element names when using a root path.
Default: false
splitArrays - boolean
First split top-level arrays into multiple documents, and then apply other rules.
Default: true
mappings - array[object]
Extract parts of the document into specified fields
object attributes:{path
required : {
display name: JSONPath expression
type: string
}target
required : {
display name: Target field
type: string
}}
listHandling - string
Create a single multivalued field containing all items, or a separate index-numbered field per list item?
Default: multivalued
Allowed values: multivaluedindex_numbered
type - stringrequired
Default: json
Allowed values: json