System-generated search processors
Introduced 3.3
System-generated search processors are processors that OpenSearch creates automatically based on the search request. Unlike user-defined processors that you manually configure in pipelines, system-generated processors are triggered automatically when certain features are used, eliminating the need for manual processor configuration.
Enabling system-generated search processors
To enable system-generated search processor creation, set the cluster.search.enabled_system_generated_factories
cluster setting to *
(all factories) or explicitly list the factories you want to enable. The following example enables mmr_over_sample_factory
, mmr_rerank_factory
, and semantic-highlighter
:
PUT _cluster/settings
{
"persistent": {
"cluster.search.enabled_system_generated_factories": [
"mmr_over_sample_factory",
"mmr_rerank_factory",
"semantic-highlighter"
]
}
}
Processor types
OpenSearch supports the following types of system-generated processors:
Each system-generated processor runs at a fixed execution stage, either before or after user-defined processors of the same type.
System-generated search request processors
The following table lists the available system-generated search request processors.
Processor name | Processor factory name | Execution stage | Trigger condition | Description |
---|---|---|---|---|
mmr_over_sample | mmr_over_sample_factory | Runs after any user-defined request processors. | Triggered when a search request includes the mmr parameter in the ext object. See Vector search with MMR reranking. | Adjusts the query size and k value of the knn or neural query to oversample candidates for maximal marginal relevance (MMR) reranking. |
System-generated search response processors
The following table lists the available system-generated search response processors.
Processor name | Processor factory name | Execution stage | Trigger condition | Description |
---|---|---|---|---|
mmr_rerank | mmr_rerank_factory | Runs before any user-defined response processors. | Triggered when a search request includes the mmr parameter in the ext object. See Vector search with MMR reranking. | Reranks the oversampled results using MMR and reduces them to the original query size. |
semantic-highlighter | semantic-highlighter | Runs after any user-defined response processors. | Triggered when a search request contains a highlight object with type set to semantic and options.batch_inference set to true . See The semantic highlighter. | Performs batch inference processing for semantic highlighting. |
Limitations
The following limitations apply to system-generated processors:
- OpenSearch supports only one system-generated processor per processor type and execution stage for a given search request. Since each processor type (request and response) can run at two execution stages (before or after user-defined processors), a single search request can include multiple system-generated processors, as long as they are of different types or run at different execution stages. This limitation ensures deterministic execution order and predictable behavior.