Each processor allows for an optional if condition to determine if that
processor should be executed or skipped. The value of the if is a
Painless script that needs to evaluate
to true or false.
For example the following processor will drop the document
(i.e. not index it) if the input document has a field named network_name
and it is equal to Guest.
PUT _ingest/pipeline/drop_guests_network
{
"processors": [
{
"drop": {
"if": "ctx.network_name == 'Guest'"
}
}
]
}Using that pipeline for an index request:
POST test/_doc/1?pipeline=drop_guests_network
{
"network_name" : "Guest"
}Results in nothing indexed since the conditional evaluated to true.
{
"_index": "test",
"_type": "_doc",
"_id": "1",
"_version": -3,
"result": "noop",
"_shards": {
"total": 0,
"successful": 0,
"failed": 0
}
}