Link Search Menu Expand Document Documentation Menu

You're viewing version 3.7 of the OpenSearch documentation. This version is no longer maintained. For the latest version, see the current documentation. For information about OpenSearch version maintenance, see Release Schedule and Maintenance Policy.

Joining queries

OpenSearch is a distributed system in which data is spread across multiple nodes. Thus, running a SQL-like JOIN operation in OpenSearch is resource intensive. As an alternative, OpenSearch provides the following queries that perform join operations and are optimized for scaling across multiple nodes:

Query type Description
nested Acts as a wrapper for other queries to search nested fields. The nested field objects are searched as though they were indexed as separate documents.
has_child Searches for parent documents whose child documents match the query. Requires a join field type.
has_parent Searches for child documents whose parent documents match the query. Requires a join field type.
parent_id Searches for child documents that are joined to a specific parent document. Requires a join field type.

If search.allow_expensive_queries is set to false, then joining queries are not executed.

350 characters left

Have a question? .

Want to contribute? or .