조인(Joining) 쿼리

조인(Joining) 쿼리

OpenSearch는 데이터가 여러 노드에 분산되는 분산 시스템이에요. 그래서 OpenSearch에서 SQL 같은 JOIN 연산을 실행하면 리소스를 아주 많이 소모합니다. 대안으로 OpenSearch는 조인 연산을 수행하면서도 여러 노드에 걸쳐 확장되도록 최적화된 다음 쿼리들을 제공해요.

  • nested: 다른 쿼리를 감싸서 중첩(nested) 필드를 검색하는 래퍼 역할을 해요. 중첩 필드 객체는 마치 별도의 문서로 인덱싱된 것처럼 검색돼요.
  • has_child: 부모 문서 가운데 자식 문서가 쿼리와 일치하는 것을 검색해요. 조인 필드 유형이 필요해요.
  • has_parent: 자식 문서 가운데 부모 문서가 쿼리와 일치하는 것을 검색해요. 조인 필드 유형이 필요해요.
  • parent_id: 특정 부모 문서에 조인된 자식 문서를 검색해요. 조인 필드 유형이 필요해요.

search.allow_expensive_queries가 false로 설정되어 있으면 조인 쿼리는 실행되지 않아요.

출처: 문서

본문

더 알아보기 (Learn more)