INGEST: Document Pipeline Processor (#33418)
* Added documentation for Pipeline Processor * Relates #33188
This commit is contained in:
parent
299d044bfc
commit
f79bdec58a
|
@ -2109,6 +2109,120 @@ Converts a string to its lowercase equivalent.
|
|||
--------------------------------------------------
|
||||
// NOTCONSOLE
|
||||
|
||||
[[pipeline-processor]]
|
||||
=== Pipeline Processor
|
||||
Executes another pipeline.
|
||||
|
||||
[[pipeline-options]]
|
||||
.Pipeline Options
|
||||
[options="header"]
|
||||
|======
|
||||
| Name | Required | Default | Description
|
||||
| `name` | yes | - | The name of the pipeline to execute
|
||||
|======
|
||||
|
||||
[source,js]
|
||||
--------------------------------------------------
|
||||
{
|
||||
"pipeline": {
|
||||
"name": "inner-pipeline"
|
||||
}
|
||||
}
|
||||
--------------------------------------------------
|
||||
// NOTCONSOLE
|
||||
|
||||
An example of using this processor for nesting pipelines would be:
|
||||
|
||||
Define an inner pipeline:
|
||||
|
||||
[source,js]
|
||||
--------------------------------------------------
|
||||
PUT _ingest/pipeline/pipelineA
|
||||
{
|
||||
"description" : "inner pipeline",
|
||||
"processors" : [
|
||||
{
|
||||
"set" : {
|
||||
"field": "inner_pipeline_set",
|
||||
"value": "inner"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
--------------------------------------------------
|
||||
// CONSOLE
|
||||
|
||||
Define another pipeline that uses the previously defined inner pipeline:
|
||||
|
||||
[source,js]
|
||||
--------------------------------------------------
|
||||
PUT _ingest/pipeline/pipelineB
|
||||
{
|
||||
"description" : "outer pipeline",
|
||||
"processors" : [
|
||||
{
|
||||
"pipeline" : {
|
||||
"name": "pipelineA"
|
||||
}
|
||||
},
|
||||
{
|
||||
"set" : {
|
||||
"field": "outer_pipeline_set",
|
||||
"value": "outer"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
--------------------------------------------------
|
||||
// CONSOLE
|
||||
// TEST[continued]
|
||||
|
||||
Now indexing a document while applying the outer pipeline will see the inner pipeline executed
|
||||
from the outer pipeline:
|
||||
|
||||
[source,js]
|
||||
--------------------------------------------------
|
||||
PUT /myindex/_doc/1?pipeline=pipelineB
|
||||
{
|
||||
"field": "value"
|
||||
}
|
||||
--------------------------------------------------
|
||||
// CONSOLE
|
||||
// TEST[continued]
|
||||
|
||||
Response from the index request:
|
||||
|
||||
[source,js]
|
||||
--------------------------------------------------
|
||||
{
|
||||
"_index": "myindex",
|
||||
"_type": "_doc",
|
||||
"_id": "1",
|
||||
"_version": 1,
|
||||
"result": "created",
|
||||
"_shards": {
|
||||
"total": 2,
|
||||
"successful": 1,
|
||||
"failed": 0
|
||||
},
|
||||
"_seq_no": 0,
|
||||
"_primary_term": 1,
|
||||
}
|
||||
--------------------------------------------------
|
||||
// TESTRESPONSE
|
||||
|
||||
Indexed document:
|
||||
|
||||
[source,js]
|
||||
--------------------------------------------------
|
||||
{
|
||||
"field": "value",
|
||||
"inner_pipeline_set": "inner",
|
||||
"outer_pipeline_set": "outer"
|
||||
}
|
||||
--------------------------------------------------
|
||||
// NOTCONSOLE
|
||||
|
||||
[[remove-processor]]
|
||||
=== Remove Processor
|
||||
Removes existing fields. If one field doesn't exist, an exception will be thrown.
|
||||
|
|
Loading…
Reference in New Issue