콘텐츠로 건너뛰기
H-A

Hangbok Archive

  • Wiki
  • NEWS
  • Wiki
  • NEWS

AI 코딩 에이전트 Wiki

  • AI 코딩 에이전트
  • AI 하네스
    • AI 하네스란 무엇인가
    • AI 코딩 에이전트의 주요 구성요소
    • Claude Skills
    • Claude Memory
    • Claude Hook
    • Claude Subagents
    • Claude Rules (Claude.md)
    • 참고) Claude Hook Matcher
  • Claude Code
    • Claude Code 입문
    • VS Code에서 Claude Code 사용하기
    • settings.json으로 권한과 실행 환경 제어하기

LangChain/LangGraph

  • 채팅 시작하기
    • LangChain • LangGraph wiki

OpenSearch

  • OpenSearch wiki
  • OpenSearch 란?
    • OpenSearch 란 무엇인가
    • OpenSearch Dashboard 란?
    • 검색 엔진, 분석 엔진, 벡터 데이터베이스로서의 OpenSearch
    • Elasticsearch와의 관계
  • OpenSearch 설치 및 설정
    • Docker Compose 기반 환경 구성
    • Dashboards와 Dev Tools 연결
    • OpenSearch 작업 방법
    • Python 개발 환경 구성
View Categories
  • Home
  • wiki
  • OpenSearch
  • OpenSearch 란?
  • 검색 엔진, 분석 엔진, 벡터 데이터베이스로서의 OpenSearch

검색 엔진, 분석 엔진, 벡터 데이터베이스로서의 OpenSearch

윤후 이
Updated on 6월 8, 2026

1 min read

OpenSearch는 하나의 관점으로만 정의하기 어렵습니다.

공식 문서에서도 OpenSearch는 full-text search, vector database, observability, security analytics 등 다양한 사용 사례를 지원하는 검색 및 분석 플랫폼으로 소개됩니다.

실무 관점에서는 OpenSearch를 아래 세 가지 축으로 이해하는 것이 좋습니다.

관점핵심 기능대표 사용 사례RAG와의 연결
검색 엔진텍스트 색인, Query DSL, BM25 score, analyzer문서 검색, 상품 검색, FAQ 검색keyword retriever, metadata filtering
분석 엔진aggregation, time-series log search, dashboard로그 분석, 운영 모니터링, 보안 이벤트 분석검색 로그 분석, latency 분석, 실패 질의 분석
벡터 데이터베이스knn_vector, vector search, semantic retrievalsemantic search, RAG, 추천 시스템vector retriever, hybrid search

이 세 가지 기능은 서로 분리된 제품이 아니라 OpenSearch 안에서 함께 사용할 수 있는 기능입니다.

예를 들어 RAG 시스템에서는 하나의 문서 chunk에 대해 다음 정보를 함께 저장할 수 있습니다.

{
  "doc_id": "doc-001",
  "chunk_id": "doc-001-0001",
  "title": "결제 실패 대응 가이드",
  "content": "결제 실패가 발생하면 고객에게 결제 수단 확인과 재시도를 안내합니다.",
  "content_vector": [0.12, -0.03, 0.44, 0.09],
  "source": "payment_policy.md",
  "doc_type": "policy",
  "created_at": "2026-05-07T00:00:00Z"
}

이 문서는 다음 방식으로 검색될 수 있습니다.

  • content 필드: full-text search
  • source, doc_type: metadata filter
  • content_vector: semantic vector search
  • created_at: 최신 문서 필터링 또는 운영 분석

왜 필요한가 #

RAG 시스템을 단순히 “문서 embedding을 저장하고 유사도 검색하는 시스템”으로 설계하면 실무에서 한계가 빠르게 나타납니다.

예를 들어 다음 질문들을 비교해보겠습니다.

사용자 질문중요한 검색 방식
E1023 오류 해결 방법 알려줘정확한 코드 matching이 중요하므로 keyword search가 유리
결제 실패 시 고객에게 어떻게 안내해야 해?표현이 다양할 수 있으므로 semantic vector search가 유리
2025년 이후 업데이트된 보안 정책만 찾아줘date, doc_type metadata filter가 중요
최근 검색 실패가 많은 문서 유형은?aggregation 기반 분석이 중요

좋은 RAG 검색 계층은 하나의 검색 방식에만 의존하지 않습니다.

OpenSearch를 사용하면 keyword search, vector search, metadata filter, aggregation을 같은 플랫폼 안에서 결합할 수 있습니다.

RAG 관점에서의 의미 #

OpenSearch의 세 가지 역할은 RAG의 서로 다른 문제를 해결합니다.

RAG 문제필요한 OpenSearch 역할설명
정확한 용어를 찾아야 함검색 엔진에러 코드, 제품명, 정책명, 고유명사 검색
의미적으로 유사한 내용을 찾아야 함벡터 데이터베이스query embedding과 document embedding 유사도 검색
검색 품질을 분석해야 함분석 엔진검색 로그, latency, result_count, source 분포 집계
권한·출처·날짜 조건을 반영해야 함검색 엔진 + 분석 엔진bool filter, range filter, aggregation 활용
추천/연관 문서로 확장해야 함벡터 데이터베이스item embedding 기반 nearest neighbor 검색

따라서 OpenSearch 기반 RAG의 핵심은 다음처럼 볼 수 있습니다.

검색 엔진 관점: 어떤 문서가 키워드상 관련 있는가?
분석 엔진 관점: 검색이 잘 되고 있는가?
벡터 DB 관점: 어떤 문서가 의미적으로 가까운가?

이 세 질문을 동시에 다룰 수 있을 때, RAG 시스템은 단순 데모가 아니라 운영 가능한 검색 기반 지식 시스템이 됩니다.

글이 도움이 되셨나요?
공유하기
  • Facebook
  • X
  • LinkedIn
  • Pinterest
Updated on 6월 8, 2026
OpenSearch Dashboard 란?Elasticsearch와의 관계

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다


목차
  • 왜 필요한가
  • RAG 관점에서의 의미

Hangbok Archive

모든 권리 보유