OpenSearch wiki
이 wiki는 OpenSearch 공식 문서를 기준으로, OpenSearch를 이용해 RAG 시스템을 설계하고 Python으로 구현하는 방법을 단계적으로 학습하기 위한 기술 문서입니다.
- 기준 문서: OpenSearch 공식 문서
- 코드 기준: Python 3.12 이상
- 기본 Python client:
opensearch-py - 인증 정보 관리:
.env,os.getenv(), secret manager 사용
학습 순서
| Part | 페이지 묶음 | 핵심 목적 |
|---|---|---|
| Part 1 | OpenSearch 전체 구조와 RAG에서의 역할 | OpenSearch를 검색 엔진, 분석 엔진, 벡터 DB로 이해 |
| Part 2 | 설치와 개발 환경 구성 | 로컬 Docker와 Python client 연결 |
| Part 3 | OpenSearch 기본 개념 | cluster, node, shard, index, document 이해 |
| Part 4 | Mapping과 Analyzer | RAG 문서 스키마와 text analysis 설계 |
| Part 5 | Sparse Search와 Query DSL | BM25 기반 keyword/full-text search 구현 |
| Part 6 | 데이터 적재와 Ingest Pipeline | 문서 색인, bulk, pipeline 이해 |
| Part 7 | Vector Search 기본 | embedding과 knn_vector 이해 |
| Part 8 | Semantic Search | neural query와 semantic retrieval 이해 |
| Part 9 | Hybrid Search | BM25 + vector 검색 결합 |
| Part 10 | Sparse Vector와 Neural Sparse Search | sparse vector 기반 neural sparse search 이해 |
| Part 11 | RAG 아키텍처 구현 | ingest, retriever, generator 연결 |
| Part 12 | Reranking과 Search Relevance | 검색 품질 개선과 평가 |
| Part 13 | Dashboards와 운영 가시화 | 검색 로그와 RAG 품질 대시보드 |
| Part 14 | Security와 권한 관리 | 운영 RAG 서비스 보안 |
| Part 15 | 인덱스 운영과 성능 튜닝 | reindex, alias, ISM, vector tuning |
| Part 16 | RAG 외 활용 | 로그 검색, Observability, Security Analytics, 추천, agentic search |
| Part 17 | AWS OpenSearch 이용하기 | AWS 관리형 서비스 운영 관점으로 확장 |