#OpenSearch
5개의 포스트

BM25는 한국어를 어떻게 쪼개나 — 조사·복합명사·영한 혼용, 토크나이저가 검색을 결정한다 (한국어 검색 스택 5편)
2편에서 BM25는 '약한 고리'였습니다. 왜 약했을까요. 이 글은 그 질문을 파고듭니다. 같은 문서, 같은 질문, 같은 BM25 공식에 토크나이저만 여덟 가지로 바꿔 보니 nDCG@10이 0.42에서 0.62까지 벌어졌습니다. 띄어쓰기로 자르면 '청년취업을'과 '청년취업'이 다른 단어가 되고, 형태소 분석기로 조사를 떼면 같은 단어가 되며, 글자 2-gram을 겹쳐 색인하면 사전에 없는 말까지 받아 줍니다. 한국어에서 어휘 검색이 어려운 세 가지 이유(교착어의 조사와 어미, 복합명사, 영한 혼용)를 예시 문장의 실제 토큰으로 보여 주고, 엘라스틱서치 nori의 decompound 모드와 불용 품사 기본값, Kiwi의 사용자 사전, BM25의 k1·b 다이얼을 실측으로 짚습니다. 결론은 BM25 자체가 약한 것이 아니라 한국어를 잘못 쪼갠 BM25가 약하다는 것입니다. 인터랙티브 4개와 삽화 8장.

4096차원에 HNSW가 필요한 이유 — 전수 비교의 벽, 차원의 저주, 그리고 그래프를 걸어서 찾는 법 (한국어 검색 스택 4편)
1편에서 가장 좋았던 Qwen3-Embedding-8B는 문장 하나를 4,096개 숫자로 바꿉니다. 문서 589건이면 질문 하나에 589번 내적하면 되니 1초도 안 걸립니다. 그런데 문서가 5,000만 건이면? 같은 방식으로는 질문 하나에 2,000억 번 곱셈이고, 서버가 아무리 좋아도 초 단위입니다. 벡터 DB가 HNSW라는 인덱스를 쓰는 이유가 여기 있습니다. 이 글은 왜 고차원에서는 트리 인덱스가 소용없는지(차원의 저주), HNSW가 어떻게 스킵 리스트와 작은 세상 그래프를 합쳐 로그 시간에 근사 최근접을 찾는지, M·ef_construction·ef_search 세 손잡이가 무엇을 바꾸는지를 그림과 장난감 시뮬레이터로 풀고, 4,096차원 벡터 1만·10만·30만 개로 전수 비교와 hnswlib을 직접 재서 비교합니다. 10만 개에서 전수 비교 56ms 대 HNSW 1.3ms(재현율 0.98). 그리고 4,096차원의 진짜 병목은 그래프가 아니라 벡터 자체라는 것, 그래서 3편의 마트료시카 절단과 양자화가 HNSW와 곱해진다는 것을 메모리 계산기로 보입니다. 인터랙티브 4개와 삽화 8장.

여덟 갈래를 한 장으로 — 2026년 9월 RAG 스택 선택 기준 (RAG 특집 총정리)
여덟 편에 걸쳐 2026년 하반기 RAG의 변화를 따라왔다. 검색은 파이프라인에서 에이전트가 되었고, 검색의 목표는 청크의 관련성에서 부족한 증거 집합으로, 라우터는 분류기에서 예산 배분기로, 인덱스는 산출물에서 운영 대상으로, 그래프는 하나에서 넷으로, 멀티모달은 페이지에서 토큰으로, 한국어는 한 점에서 토큰 단위 비교로, 보안은 명령문 검사에서 출처 신뢰도로 옮겨 갔다. 이 총정리는 그 여덟 갈래를 한 장의 참조 아키텍처와 한 장의 의사결정표로 접는다. 시리즈가 인용한 논문 18편을 근거 수준 세 층으로 나눠 무엇을 결정의 근거로 삼을 수 있는지 가르고, Docling·OpenSearch·Qwen3·KURE-v2·LightRAG·RAGFlow 같은 오픈소스를 2026년 9월 기준으로 어디에 쓰고 어디에 종속되면 안 되는지 판단하고, 지금 당장·3개월·6개월의 도입 순서와 하지 말아야 할 것 12가지를 적는다. 마지막으로 공고·보도자료·행정·의정·고객지원 티켓·키오스크 장애라는 우리 문서군에 이 구조를 대입해 본다. 인터랙티브 위젯 5종.

나는 AWS로 돌아갔고, 떠난 이유를 다시 떠올렸다 — 클라우드 20년사의 빛과 그늘
Andrew Stuart의 짧은 회고록은 단순한 불만이 아니었다. 그것은 2006년 S3가 세상에 처음 등장한 이래 20년간 우리가 클라우드와 맺어온 관계의 압축본이다. 이 글은 그 회고를 출발점으로, '클라우드'라는 개념이 어디서 왔는지, 왜 그토록 강력했는지, 그리고 왜 2026년의 지금 우리는 다시 그 관계를 재정의하고 있는지를 따라간다.

OpenSearch 완전 정복: 오픈소스 전쟁에서 태어난 검색·분석 엔진의 모든 것
Elasticsearch의 라이선스 전쟁에서 AWS가 포크하여 탄생한 OpenSearch. 검색 엔진의 기원부터 Lucene, Elasticsearch의 부상, 라이선스 분쟁, 그리고 OpenSearch가 로그 분석·벡터 검색·AI까지 확장하는 현재를 풀어본다.