Processor
Properties
-
appendobject -
Appends one or more values to an existing array if the field already exists and it is an array. Converts a scalar to an array and appends one or more values to it if the field exists and it is a scalar. Creates an array containing the provided values if the field doesn’t exist. Accepts a single value or an array of values.
-
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
valueoneOf -
The value to be appended. Supports template snippets. May specify only one of
valueorcopy_from. -
media_typestring · default: "application/json" -
The media type for encoding
value. Applies only when value is a template snippet. Must be one ofapplication/json,text/plain, orapplication/x-www-form-urlencoded. -
attachmentobject -
The attachment processor lets Elasticsearch extract file attachments in common formats (such as PPT, XLS, and PDF) by using the Apache text extraction library Tika.
-
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
ignore_missingboolean · default: false -
If
trueand field does not exist, the processor quietly exits without modifying the document. -
indexed_charsnumber · default: 100000 -
The number of chars being used for extraction to prevent huge fields. Use
-1for no limit. -
indexed_chars_fieldstring · default: null -
Field name from which you can overwrite the number of chars being used for extraction.
-
max_field_bytesnumber | string · default: -1 -
Maximum allowed size of the attachment
fieldvalue in bytes: length of a string (if base64 in JSON, checked before base64 decoding) or byte array length for binary (for example, CBOR). If set to-1, there is no per-processor limit. The node settingingest.attachment.max_field_sizealso applies. -
bytesobject -
Converts a human readable byte value (for example
1kb) to its value in bytes (for example1024). If the field is an array of strings, all members of the array will be converted. Supported human readable units are "b", "kb", "mb", "gb", "tb", "pb" case insensitive. An error will occur if the field is not a supported format or resultant value exceeds 2^63. -
cefobject -
Converts a CEF message into a structured format.
-
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
ignore_missingboolean · default: false -
If
trueandfielddoes not exist or isnull, the processor quietly exits without modifying the document. -
target_fieldstring · default: 'cef' -
The field to assign the converted value to. By default, the
target_fieldis 'cef' -
circleobject -
Converts circle definitions of shapes to regular polygons which approximate them.
-
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
error_distancenumberrequired -
The difference between the resulting inscribed distance from center to side and the circle’s radius (measured in meters for
geo_shape, unit-less forshape). -
fieldstringrequired -
The field to interpret as a circle. Either a string in WKT format or a map for GeoJSON.
-
ignore_missingboolean · default: false -
If
trueandfielddoes not exist, the processor quietly exits without modifying the document. -
community_idobject -
Computes the Community ID for network flow data as defined in the Community ID Specification. You can use a community ID to correlate network events related to a single flow.
-
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
transportstring · default: network.transport -
Field containing the transport protocol name or number. Used only when the iana_number field is not present. The following protocol names are currently supported: eigrp, gre, icmp, icmpv6, igmp, ipv6-icmp, ospf, pim, sctp, tcp, udp
-
convertobject -
Converts a field in the currently ingested document to a different type, such as converting a string to an integer. If the field value is an array, all members will be converted.
-
csvobject -
Extracts fields from CSV line out of a single text field within a document. Any empty field in CSV will be skipped.
-
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
empty_valueobject -
Value used to fill empty fields. Empty fields are skipped if this is not provided. An empty field is one with no value (2 consecutive separators) or empty quotes (
""). -
dateobject -
Parses dates from fields, and then uses the date or timestamp as the timestamp for the document.
-
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
formatsstringrequired -
An array of the expected date formats. Can be a java time pattern or one of the following formats: ISO8601, UNIX, UNIX_MS, or TAI64N.
-
localestring · default: ENGLISH -
The locale to use when parsing the date, relevant when parsing month names or week days. Supports template snippets.
-
date_index_nameobject -
The purpose of this processor is to point documents to the right time based index based on a date or timestamp field in a document by using the date math index name support.
-
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
date_formatsstring -
An array of the expected date formats for parsing dates / timestamps in the document being preprocessed. Can be a java time pattern or one of the following formats: ISO8601, UNIX, UNIX_MS, or TAI64N.
-
date_roundingstringrequired -
How to round the date when formatting the date into the index name. Valid values are:
y(year),M(month),w(week),d(day),h(hour),m(minute) ands(second). Supports template snippets. -
index_name_formatstring · default: yyyy-MM-dd -
The format to be used when printing the parsed date into the index name. A valid java time pattern is expected here. Supports template snippets.
-
index_name_prefixstring -
A prefix of the index name to be prepended before the printed date. Supports template snippets.
-
dissectobject -
Extracts structured fields out of a single text field by matching the text field against a delimiter-based pattern.
-
dot_expanderobject -
Expands a field with dots into an object field. This processor allows fields with dots in the name to be accessible by other processors in the pipeline. Otherwise these fields can’t be accessed by any processor.
-
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
fieldstringrequired -
The field to expand into an object field. If set to
*, all top-level fields will be expanded. -
overrideboolean · default: false -
Controls the behavior when there is already an existing nested object that conflicts with the expanded field. When
false, the processor will merge conflicts by combining the old and the new values into an array. Whentrue, the value from the expanded field will overwrite the existing value. -
dropobject -
Drops the document without raising any errors. This is useful to prevent the document from getting indexed based on some condition.
-
enrichobject -
The
enrichprocessor can enrich documents with data from another index. -
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
fieldstringrequired -
The field in the input document that matches the policies match_field used to retrieve the enrichment data. Supports template snippets.
-
ignore_missingboolean · default: false -
If
trueandfielddoes not exist, the processor quietly exits without modifying the document. -
max_matchesnumber · default: 1 -
The maximum number of matched documents to include under the configured target field. The
target_fieldwill be turned into a json array ifmax_matchesis higher than 1, otherwisetarget_fieldwill become a json object. In order to avoid documents getting too large, the maximum allowed value is 128. -
overrideboolean · default: true -
If processor will update fields with pre-existing non-null-valued field. When set to
false, such fields will not be touched. -
shape_relation· default: INTERSECTS -
A spatial relation operator used to match the geoshape of incoming documents to documents in the enrich index. This option is only used for
geo_matchenrich policy types.Supported values include:
intersects: Return all documents whosegeo_shapeorgeo_pointfield intersects the query geometry.disjoint: Return all documents whosegeo_shapeorgeo_pointfield has nothing in common with the query geometry.within: Return all documents whosegeo_shapeorgeo_pointfield is within the query geometry. Line geometries are not supported.contains: Return all documents whosegeo_shapeorgeo_pointfield contains the query geometry.
-
Values:
intersectsdisjointwithincontains -
failobject -
Raises an exception. This is useful for when you expect a pipeline to fail and want to relay a specific message to the requester.
-
fingerprintobject -
Computes a hash of the document’s content. You can use this hash for content fingerprinting.
-
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
fieldsoneOfrequired -
Array of fields to include in the fingerprint. For objects, the processor hashes both the field key and value. For other fields, the processor hashes only the field value.
-
ip_locationobject -
Currently an undocumented alias for GeoIP Processor.
-
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
database_filestring · default: GeoLite2-City.mmdb -
The database filename referring to a database the module ships with (GeoLite2-City.mmdb, GeoLite2-Country.mmdb, or GeoLite2-ASN.mmdb) or a custom database in the ingest-geoip config directory.
-
first_onlyboolean · default: true -
If
true, only the first found IP location data will be returned, even if the field contains an array. -
ignore_missingboolean · default: false -
If
trueandfielddoes not exist, the processor quietly exits without modifying the document. -
propertiesstring -
Controls what properties are added to the
target_fieldbased on the IP location lookup. -
geo_gridobject -
Converts geo-grid definitions of grid tiles or cells to regular bounding boxes or polygons which describe their shape. This is useful if there is a need to interact with the tile shapes as spatially indexable fields.
-
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
fieldstringrequired -
The field to interpret as a geo-tile.= The field format is determined by the
tile_type. -
tile_typerequired -
Three tile formats are understood: geohash, geotile and geohex.
-
Values:
geotilegeohexgeohash -
target_fieldstring · default: field -
The field to assign the polygon shape to, by default, the
fieldis updated in-place. -
children_fieldstring -
If specified and children tiles exist, save those tile addresses to this field as an array of strings.
-
non_children_fieldstring -
If specified and intersecting non-child tiles exist, save their addresses to this field as an array of strings.
-
geoipobject -
The
geoipprocessor adds information about the geographical location of an IPv4 or IPv6 address. -
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
database_filestring · default: GeoLite2-City.mmdb -
The database filename referring to a database the module ships with (GeoLite2-City.mmdb, GeoLite2-Country.mmdb, or GeoLite2-ASN.mmdb) or a custom database in the ingest-geoip config directory.
-
first_onlyboolean · default: true -
If
true, only the first found geoip data will be returned, even if the field contains an array. -
ignore_missingboolean · default: false -
If
trueandfielddoes not exist, the processor quietly exits without modifying the document. -
grokobject -
Extracts structured fields out of a single text field within a document. You choose which field to extract matched fields from, as well as the grok pattern you expect will match. A grok pattern is like a regular expression that supports aliased expressions that can be reused.
-
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
ecs_compatibilitystring · default: disabled -
Must be disabled or v1. If v1, the processor uses patterns with Elastic Common Schema (ECS) field names.
-
ignore_missingboolean · default: false -
If
trueandfielddoes not exist or isnull, the processor quietly exits without modifying the document. -
pattern_definitionsmap string to string -
A map of pattern-name and pattern tuples defining custom patterns to be used by the current processor. Patterns matching existing names will override the pre-existing definition.
-
patternsstringrequired -
An ordered list of grok expression to match and extract named captures with. Returns on the first expression in the list that matches.
-
gsubobject -
Converts a string field by applying a regular expression and a replacement. If the field is an array of string, all members of the array will be converted. If any non-string values are encountered, the processor will throw an exception.
-
html_stripobject -
Removes HTML tags from the field. If the field is an array of strings, HTML tags will be removed from all members of the array.
-
inferenceobject -
Uses a pre-trained data frame analytics model or a model deployed for natural language processing tasks to infer against the data that is being ingested in the pipeline.
-
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
target_fieldstring · default: ml.inference.<processor_tag> -
Field added to incoming documents to contain results objects.
-
field_mapmap string to object -
Maps the document field names to the known field names of the model. This mapping takes precedence over any default mappings provided in the model configuration.
-
inference_configobject -
Contains the inference type and its options.
-
classificationobject -
Classification configuration for inference.
-
joinobject -
Joins each element of an array into a single string using a separator character between each element. Throws an error when the field is not an array.
-
jsonobject -
Parses a string containing JSON data into a structured object, string, or other value.
-
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
add_to_rootboolean · default: false -
Flag that forces the parsed JSON to be added at the top level of the document.
target_fieldmust not be set when this option is chosen. -
add_to_root_conflict_strategy -
When set to
replace, root fields that conflict with fields from the parsed JSON will be overridden. When set tomerge, conflicting fields will be merged. Only applicableif add_to_rootis set to true.Supported values include:
replace: Root fields that conflict with fields from the parsed JSON will be overridden.merge: Conflicting fields will be merged.
-
Values:
replacemerge -
kvobject -
This processor helps automatically parse messages (or specific event fields) which are of the
foo=barvariety. -
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
ignore_missingboolean · default: false -
If
trueandfielddoes not exist or isnull, the processor quietly exits without modifying the document. -
include_keysstring -
List of keys to filter and insert into document. Defaults to including all keys.
-
strip_bracketsboolean · default: false -
If
true. strip brackets(),<>,[]as well as quotes'and"from extracted values. -
lowercaseobject -
Converts a string to its lowercase equivalent. If the field is an array of strings, all members of the array will be converted.
-
network_directionobject -
Calculates the network direction given a source IP address, destination IP address, and a list of internal networks.
-
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
internal_networksstring -
List of internal networks. Supports IPv4 and IPv6 addresses and ranges in CIDR notation. Also supports the named ranges listed below. These may be constructed with template snippets. Must specify only one of internal_networks or internal_networks_field.
-
normalize_for_streamobject -
Detects whether a document is OpenTelemetry-compliant and, if not, normalizes it so that it can be queried by clients that expect either ECS or OpenTelemetry Semantic Conventions formats.
-
recover_failure_documentobject -
Recovers documents that have been stored in a data stream's failure store by restoring them to their original format.
-
redactobject -
The Redact processor uses the Grok rules engine to obscure text in the input document matching the given Grok patterns. The processor can be used to obscure Personal Identifying Information (PII) by configuring it to detect known patterns such as email or IP addresses. Text that matches a Grok pattern is replaced with a configurable string such as
<EMAIL>where an email address is matched or simply replace all matches with the text<REDACTED>if preferred. -
registered_domainobject -
Extracts the registered domain (also known as the effective top-level domain or eTLD), sub-domain, and top-level domain from a fully qualified domain name (FQDN). Uses the registered domains defined in the Mozilla Public Suffix List.
-
renameobject -
Renames an existing field. If the field doesn’t exist or the new name is already used, an exception will be thrown.
-
rerouteobject -
Routes a document to another target index or data stream. When setting the
destinationoption, the target is explicitly specified and the dataset and namespace options can’t be set. When thedestinationoption is not set, this processor is in a data stream mode. Note that in this mode, the reroute processor can only be used on data streams that follow the data stream naming scheme. -
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
destinationstring -
A static value for the target. Can’t be set when the dataset or namespace option is set.
-
datasetstring | string -
Field references or a static value for the dataset part of the data stream name. In addition to the criteria for index names, cannot contain - and must be no longer than 100 characters. Example values are nginx.access and nginx.error.
Supports field references with a mustache-like syntax (denoted as
{{double}}or{{{triple}}}curly braces). When resolving field references, the processor replaces invalid characters with _. Uses thedefault
{{data_stream.dataset}} -
namespacestring | string -
Field references or a static value for the namespace part of the data stream name. See the criteria for index names for allowed characters. Must be no longer than 100 characters.
Supports field references with a mustache-like syntax (denoted as
{{double}}or{{{triple}}}curly braces). When resolving field references, the processor replaces invalid characters with _. Uses thedefault
{{data_stream.namespace}} -
scriptobject -
Runs an inline or stored script on incoming documents. The script runs in the
ingestcontext. -
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
langanyOf · default: painless -
Script language.
Supported values include:
painless: Painless scripting language, purpose-built for Elasticsearch.expression: Lucene’s expressions language, compiles a JavaScript expression to bytecode.mustache: Mustache templated, used for templates.java: Expert Java API
-
Values:
painlessexpressionmustachejava -
setobject -
Adds a field with the specified value. If the field already exists, its value will be replaced with the provided one.
-
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
copy_fromstring -
The origin field which will be copied to
field, cannot setvaluesimultaneously. Supported data types areboolean,number,array,object,string,date, etc. -
ignore_empty_valueboolean · default: false -
If
trueandvalueis a template snippet that evaluates tonullor the empty string, the processor quietly exits without modifying the document. -
media_typestring · default: "application/json" -
The media type for encoding
value. Applies only when value is a template snippet. Must be one ofapplication/json,text/plain, orapplication/x-www-form-urlencoded. -
set_security_userobject -
Sets user-related details (such as
username,roles,email,full_name,metadata,api_key,realmandauthentication_type) from the current authenticated user to the current document by pre-processing the ingest. -
sortobject -
Sorts the elements of an array ascending or descending. Homogeneous arrays of numbers will be sorted numerically, while arrays of strings or heterogeneous arrays of strings + numbers will be sorted lexicographically. Throws an error when the field is not an array.
-
terminateobject -
Terminates the current ingest pipeline, causing no further processors to be run. This will normally be executed conditionally, using the
ifoption. -
trimobject -
Trims whitespace from a field. If the field is an array of strings, all members of the array will be trimmed. This only works on leading and trailing whitespace.
-
uppercaseobject -
Converts a string to its uppercase equivalent. If the field is an array of strings, all members of the array will be converted.
-
urldecodeobject -
URL-decodes a string. If the field is an array of strings, all members of the array will be decoded.
-
uri_partsobject -
Parses a Uniform Resource Identifier (URI) string and extracts its components as an object. This URI object includes properties for the URI’s domain, path, fragment, port, query, scheme, user info, username, and password.
-
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
ignore_missingboolean · default: false -
If
trueandfielddoes not exist, the processor quietly exits without modifying the document. -
keep_originalboolean · default: true -
If
true, the processor copies the unparsed URI to<target_field>.original. -
user_agentobject -
The
user_agentprocessor extracts details from the user agent string a browser sends with its web requests. This processor adds this information by default under theuser_agentfield. -
descriptionstring -
Description of the processor. Useful for describing the purpose of the processor or its configuration.
-
ignore_missingboolean · default: false -
If
trueandfielddoes not exist, the processor quietly exits without modifying the document. -
regex_filestring -
The name of the file in the
config/ingest-user-agentdirectory containing the regular expressions for parsing the user agent string. Both the directory and the file have to be created before starting Elasticsearch. If not specified, ingest-user-agent will use theregexes.yamlfrom uap-core it ships with. -
target_fieldstring · default: user_agent -
The field that will be filled with the user agent details.