반응형

BM25 2

Elasticsearch로 한국어 RAG 만드는 법 — Dense Vector KNN + BM25 + Nori 완전 정리

Elasticsearch로 RAG 시스템을 만들다 보면 이런 상황이 생겨요."의미 기반 벡터 검색도 하고 싶고, 정확한 키워드 검색도 하고 싶은데 어떻게 같이 써?"그리고 한국어 데이터를 다루면 또 이런 문제가 생겨요."형태소 분석 없이 BM25 하면 '검색엔진'으로 검색할 때 '검색'만 들어간 문서가 안 나오네."이번 글에서는 Dense Vector KNN으로 의미 검색을 하고, Nori 형태소 분석기 기반 BM25로 키워드 검색을 하고, 두 개를 하이브리드로 결합하는 방법을 처음부터 끝까지 정리해 드릴게요.전체 구조 먼저사용자 쿼리 │ ├─ 임베딩 변환 → Dense Vector KNN (의미 기반 검색) └─ 텍스트 그대로 → BM25 + Nori (키워드 기반 검색) │ ..

DB 2026.03.25

검색 결과 순서가 바뀌는 원리 — TF-IDF, BM25, 쿼리 튜닝 한 번에 정리 (Elasticsearch)

Elasticsearch 검색 점수의 비밀 — TF-IDF부터 BM25 튜닝까지 한 번에 정리했습니다Elasticsearch로 검색 기능을 만들다 보면 이런 의문이 생기실 거예요."왜 이 문서가 1등이지? 검색 점수는 도대체 어떻게 계산되는 거야?"이번 글에서는 Elasticsearch 검색 점수의 핵심 알고리즘인 TF-IDF와 BM25, 그리고 실무에서 쓰는 튜닝 방법까지 한 번에 정리해 드릴게요.1. 핵심 원리 — TF-IDF와 BM25는 뭘 보는가두 알고리즘의 평가 기준은 같습니다."문서 안에서 자주 등장하지만(TF 높음), 전체 문서에서는 희귀한 단어(IDF 높음)일수록 그 문서를 대표하는 핵심 키워드다."쉽게 말하면 "엘라스틱서치"라는 단어가 전체 문서 중 딱 몇 개에만 나오는데, 그 문서 안에..

DB 2026.03.24
반응형