목록데이터베이스 (4)
주뇽's 저장소
개요이번 글에서는 엘라스틱서치 인덱스를 구성하는 전체적인 과정을 단계별로 살펴본다. 우리는 다음 로드맵을 따라 진행한다:인덱스 개념 이해: 엘라스틱서치의 기본 구성 요소인덱스 생성 API: REST 기반 인덱스 생성 방법매핑(Mappings): 필드 정의와 타입 설정설정(Settings): 분석기 구성과 인덱스 옵션한글 처리: Nori 분석기 활용법동의어 처리: 동의어 사전 구성실무 최적화: 인덱스 설계 모범 사례이전 글에서 다룬 역인덱스 구조와 엘라스틱서치의 기본 개념을 바탕으로, 이번에는 실제로 인덱스를 구성하고 최적화하는 방법을 자세히 알아본다.1. 인덱스란? 📚인덱스는 엘라스틱서치에서 문서를 저장하고 검색하기 위한 논리적 단위이다. 관계형 데이터베이스의 테이블과 유사하지만, 검색에 최적화된 구조..
데이터베이스에서 인덱스는 성능의 핵심이다.하지만 단순히 인덱스를 생성하는 것만으로는 부족하다. 이 글에서는 인덱스의 기본 구조부터 단일, 복합, 특수 인덱스(GIN, GiST, BRIN 등)의 동작 방식과 활용 전략까지 실무 기준으로 정리한다. ✅ 인덱스란?인덱스는 테이블에서 원하는 데이터를 빠르게 찾기 위해 사용하는 자료 구조다. RDB에서는 대부분 B+ Tree 구조를 사용하며, 정렬된 데이터를 기반으로 쿼리 속도를 획기적으로 높인다.CREATE INDEX idx_users_name ON users(name);WHERE name = 'Kim' → ✅ 인덱스 사용 가능WHERE age = 30 → ❌ 인덱스 없으면 사용 불가🔹 복합 인덱스두 개 이상의 컬럼을 묶어서 만든 인덱스CREATE IND..
엘라스틱서치의 모든 것 – RDB의 한계를 넘는 검색 시스템 구축 가이드 🔍이번 글에서는 전통적인 RDB의 한계부터 역인덱스 개념, 그리고 이를 기반으로 한 엘라스틱서치의 구조와 검색 방식, 실무 예제까지 한 번에 정리한다.1. LIKE 쿼리의 한계 😵많은 개발자들이 처음에는 RDB의 LIKE '%검색어%' 쿼리로 검색 시스템을 구성한다.하지만 이 방식은 실무에서 금방 한계에 부딪히게 된다.문제설명🔸 부분 일치 한계%API 응답 시간%은 검색되지만 %API 지연 시간%은 누락될 수 있음🔸 대소문자 민감Timeout ≠ timeout🔸 동의어 인식 불가"레디스"와 "Redis"는 별개 처리됨🔸 검색 정확도 없음유사도(score)를 기준으로 정렬 불가능→ 결국, LIKE 쿼리는 단순 문자열 검색에..
검색 시스템에서 빠르고 정확하게 정보를 찾는 일은 매우 중요하다. 그 중심에는 ‘역인덱스(inverted index)’라는 개념이 존재하며, 이를 바탕으로 구현된 대표적인 검색 엔진이 ‘엘라스틱서치(Elasticsearch)’이다. 이번 글에서는 역인덱스의 개념부터 엘라스틱서치가 이를 어떻게 활용하는지까지 쉽게 정리한다. 1. 역인덱스란 무엇인가? 📚 역인덱스는 ‘내용 → 문서’ 방식으로 정보를 저장하는 구조이다. 일반적인 책의 목차나 찾아보기와 유사하다고 볼 수 있다. 예시 문서 3개를 가정해보자. 문서1: “AI가 세상을 바꾼다”문서2: “세상은 빠르게 변하고 있다”문서3: “AI 기술이 빠르게 발전하고 있다” 이를 역인덱스로 바꾸면 다음과 같다:단어포함 문서AI문서1, 문서3세상문서1, 문서2바..