Link Search Menu Expand Document Documentation Menu

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 .