
AI 스타일 검색 2편 : 듀얼 벡터 검색과 OpenSearch 3.3 버전업
롱테일 검색어와 노이즈 문제를 해결하기 위해 시맨틱 벡터와 비주얼 벡터를 결합한 듀얼 벡터 검색을 도입했습니다. 또한 메모리 병목과 세그먼트 병합 문제를 줄이기 위해 OpenSearch 3.3 버전업 가능성을 검증했습니다.

롱테일 검색어와 노이즈 문제를 해결하기 위해 시맨틱 벡터와 비주얼 벡터를 결합한 듀얼 벡터 검색을 도입했습니다. 또한 메모리 병목과 세그먼트 병합 문제를 줄이기 위해 OpenSearch 3.3 버전업 가능성을 검증했습니다.


GraphRAG Toolkit으로 지식 그래프 기반 인덱싱 과정을 소개했습니다. 기존 RAG의 한계를 보완하는 어휘 그래프 구조와 추출·구축 흐름도 함께 설명했습니다.


Amazon Aurora PostgreSQL에서 pgvector 0.8.0의 반복적 스캔과 비용 추정 개선을 소개했습니다. 필터링된 벡터 검색의 재현율과 지연 시간을 함께 개선하는 방법을 다뤘습니다.

자연어 질의에 맞지 않던 기존 검색 구조를 개선하기 위해 하이브리드 인덱스를 설계했습니다. OpenSearch와 임베딩 기반 벡터 검색을 결합해 검색 품질과 운영 효율을 높였습니다.


생성형 검색의 어휘 불일치 문제를 줄이기 위해 청크 단위로 키워드, 제목, 후보 질문을 함께 생성하는 모델을 소개했습니다. 낮은 메모리 사용률로도 검색 정확도 향상과 실시간 RAG 적용 가능성을 확인했습니다.


OpenSearch KNN과 필터 조합에서 결과 누락이 발생한 원인을 쿼리 구조에서 찾았습니다. pre-filtering 기반 Efficient KNN Filtering으로 검색 품질과 지연 시간을 함께 개선했습니다.

Amazon S3 Vectors와 OpenSearch Service를 결합해 벡터 저장과 검색을 상황별로 최적화하는 방법을 소개했습니다. 비용 최적화와 고성능 검색을 위한 두 가지 통합 패턴을 설명했습니다.

AI 에이전트가 표 데이터를 이해하기 어렵다는 문제를 짚고, RAG와 SQL을 결합한 Table Agent 설계를 소개했습니다. 셀 단위 전처리, 도구 호출 루프, 에러 핸들링으로 복잡한 질문 대응력을 높였습니다.

Milvus를 도입해 LINE VOOM 추천 시스템을 실시간 구조로 전환한 과정을 다뤘습니다. 카오스 테스트와 성능 테스트로 안정성과 성능을 검증해 즉시성을 크게 높였습니다.


Microsoft의 NLWeb과 MCP를 소개하며 웹사이트를 자연어 대화형 AI 앱으로 바꾸는 개방형 구조를 설명했습니다. 벡터 검색과 LLM, MCP를 통해 웹 콘텐츠를 표준화된 방식으로 질의응답하는 흐름도 함께 다뤘습니다.

RAG는 외부 문서를 검색해 LLM 답변에 반영하는 방식으로, 최신성 부족과 환각 문제를 보완했습니다. 실전 적용 시에는 데이터 품질, 검색 성능, 지연 시간, 보안까지 함께 고려해야 했습니다.


RAG 구현에 필요한 벡터 DB로 Vespa, Milvus, Qdrant를 설치·사용성·성능 기준으로 비교했습니다. 프로젝트 규모와 검색 요구사항에 따라 적합한 선택지를 정리했습니다.