Hybrid query

You can use a hybrid query to combine relevance scores from multiple queries into one score for a given document. A hybrid query contains a list of one or more queries and independently calculates document scores at the shard level for each subquery. The subquery rewriting is performed at the coordinating node level in order to avoid duplicate computations.

Example

Before using a hybrid query, you must set up a machine learning (ML) model, ingest documents, and configure a search pipeline with a normalization-processor.

To learn how to set up an ML model, see Choosing a model.

Once you set up an ML model, learn how to use the hybrid query by following the steps in Using hybrid search.

For a comprehensive example, follow the Neural search tutorial.

Parameters

The following table lists all top-level parameters supported by hybrid queries.

ParameterDescription
queriesAn array of one or more query clauses that are used to match documents. A document must match at least one query clause in order to be returned in the results. The documents’ relevance scores from all query clauses are combined into one score by applying a search pipeline. The maximum number of query clauses is 5. Required.

Disabling hybrid queries

By default, hybrid queries are enabled. To disable hybrid queries in your cluster, set the plugins.neural_search.hybrid_search_disabled setting to true in opensearch.yml.