Skip to content

Commit 06ae6f1

Browse files
original-brownbearkcm
authored andcommitted
INGEST: Document Pipeline Processor (#33418)
* Added documentation for Pipeline Processor * Relates #33188
1 parent 86a97ae commit 06ae6f1

File tree

1 file changed

+114
-0
lines changed

1 file changed

+114
-0
lines changed

docs/reference/ingest/ingest-node.asciidoc

+114
Original file line numberDiff line numberDiff line change
@@ -2109,6 +2109,120 @@ Converts a string to its lowercase equivalent.
21092109
--------------------------------------------------
21102110
// NOTCONSOLE
21112111

2112+
[[pipeline-processor]]
2113+
=== Pipeline Processor
2114+
Executes another pipeline.
2115+
2116+
[[pipeline-options]]
2117+
.Pipeline Options
2118+
[options="header"]
2119+
|======
2120+
| Name | Required | Default | Description
2121+
| `name` | yes | - | The name of the pipeline to execute
2122+
|======
2123+
2124+
[source,js]
2125+
--------------------------------------------------
2126+
{
2127+
"pipeline": {
2128+
"name": "inner-pipeline"
2129+
}
2130+
}
2131+
--------------------------------------------------
2132+
// NOTCONSOLE
2133+
2134+
An example of using this processor for nesting pipelines would be:
2135+
2136+
Define an inner pipeline:
2137+
2138+
[source,js]
2139+
--------------------------------------------------
2140+
PUT _ingest/pipeline/pipelineA
2141+
{
2142+
"description" : "inner pipeline",
2143+
"processors" : [
2144+
{
2145+
"set" : {
2146+
"field": "inner_pipeline_set",
2147+
"value": "inner"
2148+
}
2149+
}
2150+
]
2151+
}
2152+
--------------------------------------------------
2153+
// CONSOLE
2154+
2155+
Define another pipeline that uses the previously defined inner pipeline:
2156+
2157+
[source,js]
2158+
--------------------------------------------------
2159+
PUT _ingest/pipeline/pipelineB
2160+
{
2161+
"description" : "outer pipeline",
2162+
"processors" : [
2163+
{
2164+
"pipeline" : {
2165+
"name": "pipelineA"
2166+
}
2167+
},
2168+
{
2169+
"set" : {
2170+
"field": "outer_pipeline_set",
2171+
"value": "outer"
2172+
}
2173+
}
2174+
]
2175+
}
2176+
--------------------------------------------------
2177+
// CONSOLE
2178+
// TEST[continued]
2179+
2180+
Now indexing a document while applying the outer pipeline will see the inner pipeline executed
2181+
from the outer pipeline:
2182+
2183+
[source,js]
2184+
--------------------------------------------------
2185+
PUT /myindex/_doc/1?pipeline=pipelineB
2186+
{
2187+
"field": "value"
2188+
}
2189+
--------------------------------------------------
2190+
// CONSOLE
2191+
// TEST[continued]
2192+
2193+
Response from the index request:
2194+
2195+
[source,js]
2196+
--------------------------------------------------
2197+
{
2198+
"_index": "myindex",
2199+
"_type": "_doc",
2200+
"_id": "1",
2201+
"_version": 1,
2202+
"result": "created",
2203+
"_shards": {
2204+
"total": 2,
2205+
"successful": 1,
2206+
"failed": 0
2207+
},
2208+
"_seq_no": 0,
2209+
"_primary_term": 1,
2210+
}
2211+
--------------------------------------------------
2212+
// TESTRESPONSE
2213+
2214+
Indexed document:
2215+
2216+
[source,js]
2217+
--------------------------------------------------
2218+
{
2219+
"field": "value",
2220+
"inner_pipeline_set": "inner",
2221+
"outer_pipeline_set": "outer"
2222+
}
2223+
--------------------------------------------------
2224+
// NOTCONSOLE
2225+
21122226
[[remove-processor]]
21132227
=== Remove Processor
21142228
Removes existing fields. If one field doesn't exist, an exception will be thrown.

0 commit comments

Comments
 (0)