Link Search Menu Expand Document Documentation Menu

You're viewing version 2.16 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:

  • nested queries: Act as wrappers for other queries to search nested fields. The nested field objects are searched as though they were indexed as separate documents.
  • has_child queries: Search for parent documents whose child documents match the query.
  • has_parent queries: Search for child documents whose parent documents match the query.
  • parent_id queries: A join field type establishes a parent/child relationship between documents in the same index. parent_id queries search for child documents that are joined to a specific parent document.

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


Related articles

350 characters left

Have a question? .

Want to contribute? or .