* Add documentation about setting a default model for neural search Signed-off-by: Fanit Kolchina <kolchfa@amazon.com> * Add new processor to the processor list Signed-off-by: Fanit Kolchina <kolchfa@amazon.com> * More tweaks Signed-off-by: Fanit Kolchina <kolchfa@amazon.com> * Refactor search pipeline documentation Signed-off-by: Fanit Kolchina <kolchfa@amazon.com> * Refactor retrieving search pipelines Signed-off-by: Fanit Kolchina <kolchfa@amazon.com> * Add working examples Signed-off-by: Fanit Kolchina <kolchfa@amazon.com> * Implement tech review comments Signed-off-by: Fanit Kolchina <kolchfa@amazon.com> * Add responses to documentation Signed-off-by: Fanit Kolchina <kolchfa@amazon.com> * Update _search-plugins/search-pipelines/neural-query-enricher.md Co-authored-by: Melissa Vagi <vagimeli@amazon.com> Signed-off-by: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Nathan Bower <nbower@amazon.com> Signed-off-by: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> --------- Signed-off-by: Fanit Kolchina <kolchfa@amazon.com> Signed-off-by: kolchfa-aws <105444904+kolchfa-aws@users.noreply.github.com> Co-authored-by: Melissa Vagi <vagimeli@amazon.com> Co-authored-by: Nathan Bower <nbower@amazon.com>
4.1 KiB
layout | title | nav_order | has_children | parent | grand_parent |
---|---|---|---|---|---|
default | Search processors | 40 | true | Search pipelines | Search |
Search processors
Search processors can be of the following types:
Search request processors
A search request processor intercepts a search request (the query and the metadata passed in the request), performs an operation with or on the search request, and submits the search request to the index.
The following table lists all supported search request processors.
Processor | Description | Earliest available version |
---|---|---|
filter_query |
Adds a filtering query that is used to filter requests. | 2.8 |
neural_query_enricher |
Sets a default model for neural search at the index or field level. | 2.11 |
script |
Adds a script that is run on newly indexed documents. | 2.8 |
Search response processors
A search response processor intercepts a search response and search request (the query, results, and metadata passed in the request), performs an operation with or on the search response, and returns the search response.
The following table lists all supported search response processors.
Processor | Description | Earliest available version |
---|---|---|
personalize_search_ranking |
Uses Amazon Personalize to rerank search results (requires setting up the Amazon Personalize service). | 2.9 |
rename_field |
Renames an existing field. | 2.8 |
Search phase results processors
A search phase results processor runs between search phases at the coordinating node level. It intercepts the results retrieved from one search phase and transforms them before passing them to the next search phase.
The following table lists all supported search request processors.
Processor | Description | Earliest available version |
---|---|---|
normalization_processor |
Intercepts the query phase results and normalizes and combines the document scores before passing the documents to the fetch phase. | 2.10 |
Viewing available processor types
You can use the Nodes Search Pipelines API to view the available processor types:
GET /_nodes/search_pipelines
{% include copy-curl.html %}
The response contains the search_pipelines
object that lists the available request and response processors:
Response
{: .text-delta}{
"_nodes" : {
"total" : 1,
"successful" : 1,
"failed" : 0
},
"cluster_name" : "runTask",
"nodes" : {
"36FHvCwHT6Srbm2ZniEPhA" : {
"name" : "runTask-0",
"transport_address" : "127.0.0.1:9300",
"host" : "127.0.0.1",
"ip" : "127.0.0.1",
"version" : "3.0.0",
"build_type" : "tar",
"build_hash" : "unknown",
"roles" : [
"cluster_manager",
"data",
"ingest",
"remote_cluster_client"
],
"attributes" : {
"testattr" : "test",
"shard_indexing_pressure_enabled" : "true"
},
"search_pipelines" : {
"request_processors" : [
{
"type" : "filter_query"
},
{
"type" : "script"
}
],
"response_processors" : [
{
"type" : "rename_field"
}
]
}
}
}
}
In addition to the processors provided by OpenSearch, additional processors may be provided by plugins. {: .note}