<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>개념 이해 on Advanced Beginner</title><link>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/</link><description>Recent content in 개념 이해 on Advanced Beginner</description><generator>Hugo</generator><language>ko-KR</language><managingEditor>d8lzz1gpw@mozmail.com (kimbenji)</managingEditor><webMaster>d8lzz1gpw@mozmail.com (kimbenji)</webMaster><lastBuildDate>Mon, 23 Mar 2026 19:08:15 +0900</lastBuildDate><atom:link href="https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/index.xml" rel="self" type="application/rss+xml"/><item><title>핵심 구성요소</title><link>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/core-components/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/core-components/</guid><description>&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cluster&lt;/strong&gt;: 여러 노드를 묶어 고가용성과 분산 처리를 제공하는 서버 그룹&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Node&lt;/strong&gt;: 클러스터를 구성하는 단일 Elasticsearch 서버 (Master, Data, Coordinating 역할)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Index&lt;/strong&gt;: 문서들의 논리적 모음 (RDB의 테이블과 유사)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Document&lt;/strong&gt;: JSON 형태의 데이터 단위 (RDB의 Row와 유사)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shard&lt;/strong&gt;: 인덱스를 수평 분할한 조각 (Primary/Replica로 구성)&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;대상 독자&lt;/strong&gt;: Elasticsearch를 처음 접하는 개발자
&lt;strong&gt;선수 지식&lt;/strong&gt;: JSON 기본 문법, REST API 개념&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;소요 시간&lt;/strong&gt;: 약 25-30분&lt;/p&gt;
&lt;p&gt;Elasticsearch의 핵심 구성요소인 Cluster, Node, Index, Document, Shard의 역할과 관계를 이해합니다.&lt;/p&gt;</description></item><item><title>데이터 모델링</title><link>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/data-modeling/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/data-modeling/</guid><description>&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Mapping&lt;/strong&gt;: 문서 구조를 정의하는 스키마 (RDB의 테이블 정의와 유사)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;text&lt;/strong&gt;: 풀텍스트 검색용, Analyzer로 토큰화됨&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;keyword&lt;/strong&gt;: 정확한 값 매칭, 정렬/집계용&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Analyzer&lt;/strong&gt;: 텍스트를 검색 가능한 토큰으로 변환 (한글은 Nori 사용)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;비정규화&lt;/strong&gt;: JOIN 없으므로 관련 데이터를 한 문서에 포함&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;대상 독자&lt;/strong&gt;: Elasticsearch 검색 기능을 사용하려는 개발자
&lt;strong&gt;선수 지식&lt;/strong&gt;: &lt;a href="https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/core-components/"&gt;핵심 구성요소&lt;/a&gt;, JSON 기본 문법&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;소요 시간&lt;/strong&gt;: 약 25-30분&lt;/p&gt;
&lt;h2 id="전체-비유-도서관의-도서-분류-시스템"&gt;전체 비유: 도서관의 도서 분류 시스템&lt;a class="anchor" href="#%ec%a0%84%ec%b2%b4-%eb%b9%84%ec%9c%a0-%eb%8f%84%ec%84%9c%ea%b4%80%ec%9d%98-%eb%8f%84%ec%84%9c-%eb%b6%84%eb%a5%98-%ec%8b%9c%ec%8a%a4%ed%85%9c"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;데이터 모델링을 &lt;strong&gt;도서관의 도서 분류 체계&lt;/strong&gt;에 비유하면 이해하기 쉽습니다:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;도서관 비유&lt;/th&gt;
 &lt;th&gt;Elasticsearch&lt;/th&gt;
 &lt;th&gt;역할&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;도서 분류 규칙 (DDC, KDC)&lt;/td&gt;
 &lt;td&gt;Mapping&lt;/td&gt;
 &lt;td&gt;책을 어떻게 분류하고 정리할지 정의&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;책 내용으로 검색&lt;/td&gt;
 &lt;td&gt;text 타입&lt;/td&gt;
 &lt;td&gt;&amp;ldquo;인공지능&amp;quot;을 검색하면 관련 내용 포함 도서 반환&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;청구기호로 정확히 찾기&lt;/td&gt;
 &lt;td&gt;keyword 타입&lt;/td&gt;
 &lt;td&gt;&amp;ldquo;005.133-P99&amp;rdquo; 정확히 일치하는 책 찾기&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;색인 담당 사서&lt;/td&gt;
 &lt;td&gt;Analyzer&lt;/td&gt;
 &lt;td&gt;책 내용을 읽고 핵심 키워드 추출하여 색인 카드 작성&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;한 책에 관련 정보 모두 기록&lt;/td&gt;
 &lt;td&gt;비정규화&lt;/td&gt;
 &lt;td&gt;저자, 출판사, 분류 정보를 한 카드에 기재&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Object (저자 정보)&lt;/td&gt;
 &lt;td&gt;단순 중첩&lt;/td&gt;
 &lt;td&gt;저자명, 생년 등 관련 정보 묶음&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Nested (시리즈 정보)&lt;/td&gt;
 &lt;td&gt;관계 유지&lt;/td&gt;
 &lt;td&gt;1권-2024년, 2권-2025년 각각 독립적 관계 유지&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;이처럼 Mapping은 도서관에서 &amp;ldquo;어떤 기준으로 책을 분류하고 색인할 것인가&amp;quot;를 정하는 것과 같습니다.&lt;/p&gt;</description></item><item><title>Query DSL</title><link>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/query-dsl/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/query-dsl/</guid><description>&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Query Context&lt;/strong&gt;: 관련성 점수(score)를 계산하는 풀텍스트 검색&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Filter Context&lt;/strong&gt;: 점수 없이 조건만 확인, 캐싱되어 빠름&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;match/match_phrase&lt;/strong&gt;: 풀텍스트 검색에 사용 (text 필드)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;term/terms/range&lt;/strong&gt;: 정확한 값 검색에 사용 (keyword 필드)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;bool&lt;/strong&gt;: must/should/must_not/filter로 쿼리 조합&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;대상 독자&lt;/strong&gt;: Elasticsearch 기본 개념을 이해한 개발자
&lt;strong&gt;선수 지식&lt;/strong&gt;: &lt;a href="https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/core-components/"&gt;핵심 구성요소&lt;/a&gt;, JSON 기본 문법&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;소요 시간&lt;/strong&gt;: 약 25-30분&lt;/p&gt;
&lt;h2 id="전체-비유-도서관에서-책-찾기"&gt;전체 비유: 도서관에서 책 찾기&lt;a class="anchor" href="#%ec%a0%84%ec%b2%b4-%eb%b9%84%ec%9c%a0-%eb%8f%84%ec%84%9c%ea%b4%80%ec%97%90%ec%84%9c-%ec%b1%85-%ec%b0%be%ea%b8%b0"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Query DSL을 &lt;strong&gt;도서관에서 책을 찾는 방법&lt;/strong&gt;에 비유하면 이해하기 쉽습니다:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;도서관 비유&lt;/th&gt;
 &lt;th&gt;Query DSL&lt;/th&gt;
 &lt;th&gt;역할&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;인공지능 관련 책 찾아주세요&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;Query Context (match)&lt;/td&gt;
 &lt;td&gt;내용 관련성으로 추천, 관련도 순 정렬&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;005.133 분류 책만 보여주세요&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;Filter Context (term)&lt;/td&gt;
 &lt;td&gt;조건 일치 여부만 확인, 빠름&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;머신러닝 입문&amp;rdquo; 내용 검색&lt;/td&gt;
 &lt;td&gt;match&lt;/td&gt;
 &lt;td&gt;단어 포함 여부로 검색 (순서 무관)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;머신러닝 입문&amp;rdquo; 정확히&lt;/td&gt;
 &lt;td&gt;match_phrase&lt;/td&gt;
 &lt;td&gt;정확한 문구 순서로 검색&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;청구기호 &amp;ldquo;005.133&amp;rdquo; 정확히&lt;/td&gt;
 &lt;td&gt;term&lt;/td&gt;
 &lt;td&gt;값이 정확히 일치하는 것만&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;2020~2024년 출판 도서&lt;/td&gt;
 &lt;td&gt;range&lt;/td&gt;
 &lt;td&gt;범위 내 값 검색&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;컴퓨터 분야 AND 2024년 출판&lt;/td&gt;
 &lt;td&gt;bool (must)&lt;/td&gt;
 &lt;td&gt;모든 조건 만족&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;프로그래밍 OR 데이터분석&lt;/td&gt;
 &lt;td&gt;bool (should)&lt;/td&gt;
 &lt;td&gt;하나 이상 만족&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;번역서 제외&lt;/td&gt;
 &lt;td&gt;bool (must_not)&lt;/td&gt;
 &lt;td&gt;해당 조건 제외&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;이처럼 Query DSL은 도서관 사서에게 &amp;ldquo;어떤 조건으로 책을 찾아달라&amp;quot;고 요청하는 것과 같습니다.&lt;/p&gt;</description></item><item><title>검색 관련성</title><link>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/search-relevance/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/search-relevance/</guid><description>&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;선수 개념&lt;/strong&gt;&lt;br&gt;&lt;p&gt;이 문서를 읽기 전에 다음 개념을 먼저 이해하세요:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="query-dsl/"&gt;Query DSL&lt;/a&gt; - match, bool 쿼리 기본&lt;/li&gt;
&lt;li&gt;&lt;a href="data-modeling/"&gt;데이터 모델링&lt;/a&gt; - Analyzer 동작 원리&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;소요 시간&lt;/strong&gt;: 약 25-30분&lt;/p&gt;
&lt;h2 id="전체-비유-도서관-사서의-책-추천"&gt;전체 비유: 도서관 사서의 책 추천&lt;a class="anchor" href="#%ec%a0%84%ec%b2%b4-%eb%b9%84%ec%9c%a0-%eb%8f%84%ec%84%9c%ea%b4%80-%ec%82%ac%ec%84%9c%ec%9d%98-%ec%b1%85-%ec%b6%94%ec%b2%9c"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;검색 관련성을 &lt;strong&gt;도서관 사서가 책을 추천하는 방식&lt;/strong&gt;에 비유하면 이해하기 쉽습니다:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;도서관 비유&lt;/th&gt;
 &lt;th&gt;Elasticsearch&lt;/th&gt;
 &lt;th&gt;역할&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;추천 우선순위 점수&lt;/td&gt;
 &lt;td&gt;Score&lt;/td&gt;
 &lt;td&gt;얼마나 관련 있는지 수치화&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;이 책에서 해당 주제를 많이 다뤄요&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;TF (Term Frequency)&lt;/td&gt;
 &lt;td&gt;검색어가 문서에 많이 등장할수록 점수 상승&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;이 주제를 다루는 책이 드물어요&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;IDF (Inverse Doc Frequency)&lt;/td&gt;
 &lt;td&gt;희귀한 단어일수록 점수 상승&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;제목에서 바로 찾았어요&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;Field Length&lt;/td&gt;
 &lt;td&gt;짧은 필드에서 일치하면 점수 상승&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;제목 일치는 가산점&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;필드 부스팅&lt;/td&gt;
 &lt;td&gt;중요 필드에 가중치 부여 (name^3)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;신간이라 추천해요&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;Decay Function&lt;/td&gt;
 &lt;td&gt;시간/거리에 따라 점수 조정&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;베스트셀러는 우선 추천&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;Function Score&lt;/td&gt;
 &lt;td&gt;인기도, 평점 등 비즈니스 로직 반영&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;절판 도서는 후순위&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;Negative Boosting&lt;/td&gt;
 &lt;td&gt;특정 조건의 점수 감소&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;이처럼 Score는 사서가 &amp;ldquo;이 책이 당신 질문에 가장 적합합니다&amp;quot;라고 판단하는 기준과 같습니다.&lt;/p&gt;</description></item><item><title>집계</title><link>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/aggregations/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/aggregations/</guid><description>&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;선수 개념&lt;/strong&gt;&lt;br&gt;&lt;p&gt;이 문서를 읽기 전에 다음 개념을 먼저 이해하세요:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="query-dsl/"&gt;Query DSL&lt;/a&gt; - 기본 쿼리 구조&lt;/li&gt;
&lt;li&gt;&lt;a href="data-modeling/"&gt;데이터 모델링&lt;/a&gt; - keyword vs text 타입&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;소요 시간&lt;/strong&gt;: 약 25-30분&lt;/p&gt;
&lt;h2 id="전체-비유-도서관-통계-분석"&gt;전체 비유: 도서관 통계 분석&lt;a class="anchor" href="#%ec%a0%84%ec%b2%b4-%eb%b9%84%ec%9c%a0-%eb%8f%84%ec%84%9c%ea%b4%80-%ed%86%b5%ea%b3%84-%eb%b6%84%ec%84%9d"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Aggregation을 &lt;strong&gt;도서관의 장서 통계 분석&lt;/strong&gt;에 비유하면 이해하기 쉽습니다:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;도서관 비유&lt;/th&gt;
 &lt;th&gt;Elasticsearch&lt;/th&gt;
 &lt;th&gt;역할&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;분야별로 몇 권씩 있나요?&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;Bucket (terms)&lt;/td&gt;
 &lt;td&gt;값별로 그룹화&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;가격대별 도서 수는?&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;Bucket (range)&lt;/td&gt;
 &lt;td&gt;범위별로 그룹화&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;월별 대출 추이는?&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;Bucket (date_histogram)&lt;/td&gt;
 &lt;td&gt;시간별로 그룹화&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;평균 도서 가격은?&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;Metric (avg)&lt;/td&gt;
 &lt;td&gt;숫자 통계 계산&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;분야별 평균 가격은?&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;중첩 집계&lt;/td&gt;
 &lt;td&gt;그룹 내 통계&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;월별 대출 증감률은?&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;Pipeline&lt;/td&gt;
 &lt;td&gt;집계 결과 재가공&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;전체 장서 대비 검색 결과 비율?&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;td&gt;필터 무시한 전체 통계&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;이처럼 Aggregation은 사서에게 &amp;ldquo;장서 현황 보고서를 만들어 주세요&amp;quot;라고 요청하는 것과 같습니다.&lt;/p&gt;</description></item><item><title>인덱싱 전략</title><link>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/indexing/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/indexing/</guid><description>&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;선수 개념&lt;/strong&gt;&lt;br&gt;&lt;p&gt;이 문서를 읽기 전에 다음 개념을 먼저 이해하세요:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="core-components/"&gt;핵심 구성요소&lt;/a&gt; - Shard, Segment 개념&lt;/li&gt;
&lt;li&gt;&lt;a href="data-modeling/"&gt;데이터 모델링&lt;/a&gt; - Mapping, Analyzer 기본&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;소요 시간&lt;/strong&gt;: 약 25-30분&lt;/p&gt;
&lt;h2 id="전체-비유-도서관의-신간-입고-프로세스"&gt;전체 비유: 도서관의 신간 입고 프로세스&lt;a class="anchor" href="#%ec%a0%84%ec%b2%b4-%eb%b9%84%ec%9c%a0-%eb%8f%84%ec%84%9c%ea%b4%80%ec%9d%98-%ec%8b%a0%ea%b0%84-%ec%9e%85%ea%b3%a0-%ed%94%84%eb%a1%9c%ec%84%b8%ec%8a%a4"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;인덱싱 전략을 &lt;strong&gt;도서관의 신간 입고 프로세스&lt;/strong&gt;에 비유하면 이해하기 쉽습니다:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;도서관 비유&lt;/th&gt;
 &lt;th&gt;Elasticsearch&lt;/th&gt;
 &lt;th&gt;역할&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;한 권씩 등록&lt;/td&gt;
 &lt;td&gt;단건 인덱싱&lt;/td&gt;
 &lt;td&gt;느리지만 즉시 확인 가능&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;박스 단위 대량 입고&lt;/td&gt;
 &lt;td&gt;Bulk 인덱싱&lt;/td&gt;
 &lt;td&gt;훨씬 빠름 (10배 이상)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;입고 후 서가 배치&lt;/td&gt;
 &lt;td&gt;Refresh&lt;/td&gt;
 &lt;td&gt;검색 가능하게 만듦 (기본 1초)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;영구 장서 등록&lt;/td&gt;
 &lt;td&gt;Flush&lt;/td&gt;
 &lt;td&gt;디스크에 영구 저장&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;입고 일지&lt;/td&gt;
 &lt;td&gt;Translog&lt;/td&gt;
 &lt;td&gt;장애 시 복구용 기록&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;신간 분류 규칙 템플릿&lt;/td&gt;
 &lt;td&gt;Index Template&lt;/td&gt;
 &lt;td&gt;새 인덱스 자동 설정&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;오래된 책 → 창고 → 폐기&lt;/td&gt;
 &lt;td&gt;ILM (Index Lifecycle)&lt;/td&gt;
 &lt;td&gt;Hot → Warm → Cold → Delete&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;구판 → 신판 교체&lt;/td&gt;
 &lt;td&gt;Reindex&lt;/td&gt;
 &lt;td&gt;데이터 마이그레이션&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;도서 별칭 (시리즈명)&lt;/td&gt;
 &lt;td&gt;Alias&lt;/td&gt;
 &lt;td&gt;인덱스 별명으로 무중단 교체&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;이처럼 인덱싱 전략은 &amp;ldquo;도서관에 새 책을 효율적으로 입고하고 관리&amp;quot;하는 프로세스와 같습니다.&lt;/p&gt;</description></item><item><title>클러스터 관리</title><link>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/cluster-management/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/cluster-management/</guid><description>&lt;h2 id="전체-비유-도서관-체인-본사-운영"&gt;전체 비유: 도서관 체인 본사 운영&lt;a class="anchor" href="#%ec%a0%84%ec%b2%b4-%eb%b9%84%ec%9c%a0-%eb%8f%84%ec%84%9c%ea%b4%80-%ec%b2%b4%ec%9d%b8-%eb%b3%b8%ec%82%ac-%ec%9a%b4%ec%98%81"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;클러스터 관리를 &lt;strong&gt;도서관 체인의 본사 운영&lt;/strong&gt;에 비유하면 이해하기 쉽습니다:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;도서관 비유&lt;/th&gt;
 &lt;th&gt;Elasticsearch&lt;/th&gt;
 &lt;th&gt;역할&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;체인 본사 (정책 결정)&lt;/td&gt;
 &lt;td&gt;Master Node&lt;/td&gt;
 &lt;td&gt;클러스터 상태 관리, 인덱스 생성/삭제 결정&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;각 지점 창고&lt;/td&gt;
 &lt;td&gt;Data Node&lt;/td&gt;
 &lt;td&gt;실제 도서(데이터) 저장 및 대출(검색) 처리&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;안내 데스크&lt;/td&gt;
 &lt;td&gt;Coordinating Node&lt;/td&gt;
 &lt;td&gt;고객 요청을 적절한 지점으로 라우팅&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;본사 회의 정족수 (3인)&lt;/td&gt;
 &lt;td&gt;Master 선출&lt;/td&gt;
 &lt;td&gt;과반수로 의사 결정 (3대 권장)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Green 상태&lt;/td&gt;
 &lt;td&gt;모든 지점 정상&lt;/td&gt;
 &lt;td&gt;모든 도서 대출 가능&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Yellow 상태&lt;/td&gt;
 &lt;td&gt;복본 부족&lt;/td&gt;
 &lt;td&gt;대출은 가능, 일부 백업 없음&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Red 상태&lt;/td&gt;
 &lt;td&gt;일부 도서 접근 불가&lt;/td&gt;
 &lt;td&gt;즉시 복구 필요&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;지점 폐점 절차&lt;/td&gt;
 &lt;td&gt;노드 제거&lt;/td&gt;
 &lt;td&gt;도서를 다른 지점으로 이관 후 폐점&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;이처럼 클러스터 관리는 &amp;ldquo;전국 도서관 체인의 본사에서 모든 지점을 관리&amp;quot;하는 것과 같습니다.&lt;/p&gt;</description></item><item><title>성능 튜닝</title><link>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/performance-tuning/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/performance-tuning/</guid><description>&lt;h2 id="전체-비유-도서관-운영-효율화"&gt;전체 비유: 도서관 운영 효율화&lt;a class="anchor" href="#%ec%a0%84%ec%b2%b4-%eb%b9%84%ec%9c%a0-%eb%8f%84%ec%84%9c%ea%b4%80-%ec%9a%b4%ec%98%81-%ed%9a%a8%ec%9c%a8%ed%99%94"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;성능 튜닝을 &lt;strong&gt;도서관 운영 효율화&lt;/strong&gt;에 비유하면 이해하기 쉽습니다:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;도서관 비유&lt;/th&gt;
 &lt;th&gt;Elasticsearch&lt;/th&gt;
 &lt;th&gt;역할&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;적정 서가 수 결정&lt;/td&gt;
 &lt;td&gt;샤드 수 설계&lt;/td&gt;
 &lt;td&gt;너무 많으면 관리 오버헤드 증가&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;불필요한 색인 카드 제거&lt;/td&gt;
 &lt;td&gt;불필요한 필드 제외&lt;/td&gt;
 &lt;td&gt;저장/검색 비용 절감&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;인기 도서 앞자리 배치&lt;/td&gt;
 &lt;td&gt;Filter 캐시&lt;/td&gt;
 &lt;td&gt;자주 조회되는 조건 캐싱&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;통계 보고서 캐싱&lt;/td&gt;
 &lt;td&gt;Request 캐시&lt;/td&gt;
 &lt;td&gt;집계 결과 재사용&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;소설, 컴퓨터&amp;quot;만 반환&lt;/td&gt;
 &lt;td&gt;_source 필터링&lt;/td&gt;
 &lt;td&gt;필요한 필드만 반환&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;끝없는 목록 대신 &amp;ldquo;다음 페이지&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;search_after&lt;/td&gt;
 &lt;td&gt;깊은 페이지네이션 최적화&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;*가 들어간 책&amp;rdquo; 요청 회피&lt;/td&gt;
 &lt;td&gt;Wildcard 쿼리 피하기&lt;/td&gt;
 &lt;td&gt;전체 스캔 방지&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;느린 대출 요청 분석&lt;/td&gt;
 &lt;td&gt;Slow Log&lt;/td&gt;
 &lt;td&gt;병목 쿼리 식별&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;이처럼 성능 튜닝은 &amp;ldquo;도서관 운영을 최적화하여 대출 대기 시간을 줄이는 것&amp;quot;과 같습니다.&lt;/p&gt;</description></item><item><title>고가용성</title><link>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/high-availability/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/high-availability/</guid><description>&lt;h2 id="전체-비유-도서관의-재난-대비-시스템"&gt;전체 비유: 도서관의 재난 대비 시스템&lt;a class="anchor" href="#%ec%a0%84%ec%b2%b4-%eb%b9%84%ec%9c%a0-%eb%8f%84%ec%84%9c%ea%b4%80%ec%9d%98-%ec%9e%ac%eb%82%9c-%eb%8c%80%eb%b9%84-%ec%8b%9c%ec%8a%a4%ed%85%9c"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;고가용성을 &lt;strong&gt;도서관 체인의 재난 대비 시스템&lt;/strong&gt;에 비유하면 이해하기 쉽습니다:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;도서관 비유&lt;/th&gt;
 &lt;th&gt;Elasticsearch&lt;/th&gt;
 &lt;th&gt;역할&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;인기 도서 복본 비치&lt;/td&gt;
 &lt;td&gt;Replica Shard&lt;/td&gt;
 &lt;td&gt;데이터 복제로 장애 대비 + 대출 분산&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;장서 목록 사진 백업&lt;/td&gt;
 &lt;td&gt;Snapshot&lt;/td&gt;
 &lt;td&gt;특정 시점 데이터 백업&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;백업 사진 정기 촬영&lt;/td&gt;
 &lt;td&gt;SLM (Snapshot Lifecycle)&lt;/td&gt;
 &lt;td&gt;자동 백업 정책&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;타 지역 도서관에 복본 보관&lt;/td&gt;
 &lt;td&gt;CCR (Cross-Cluster Replication)&lt;/td&gt;
 &lt;td&gt;원격 클러스터로 실시간 복제&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;화재 시 백업 지점 운영&lt;/td&gt;
 &lt;td&gt;Active-Passive DR&lt;/td&gt;
 &lt;td&gt;장애 시 대체 클러스터 활성화&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;지점 폐쇄 → 타 지점 자동 대출&lt;/td&gt;
 &lt;td&gt;자동 Failover&lt;/td&gt;
 &lt;td&gt;노드 장애 시 Replica 승격&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;서울/부산 양방향 운영&lt;/td&gt;
 &lt;td&gt;Active-Active&lt;/td&gt;
 &lt;td&gt;각 리전에서 독립 운영&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;이처럼 고가용성은 &amp;ldquo;지진이나 화재에도 도서관 서비스를 중단 없이 제공&amp;quot;하는 재난 대비 시스템과 같습니다.&lt;/p&gt;</description></item><item><title>Vector Search (kNN)</title><link>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/vector-search/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/vector-search/</guid><description>&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Vector Search&lt;/strong&gt;: 의미(Semantic) 기반 검색으로 키워드가 달라도 유사한 내용 검색 가능&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;dense_vector&lt;/strong&gt;: 벡터를 저장하는 필드 타입, similarity로 유사도 계산 방식 지정&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;kNN 쿼리&lt;/strong&gt;: k개의 가장 가까운 이웃 문서를 찾는 검색 방식&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;하이브리드 검색&lt;/strong&gt;: kNN + 키워드 검색을 결합하여 최상의 결과 제공&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;임베딩 모델&lt;/strong&gt;: 텍스트/이미지를 벡터로 변환 (한글은 다국어 모델 권장)&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;대상 독자&lt;/strong&gt;: 시맨틱 검색이나 추천 시스템을 구현하려는 개발자
&lt;strong&gt;선수 지식&lt;/strong&gt;: &lt;a href="https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/core-components/"&gt;핵심 구성요소&lt;/a&gt;, &lt;a href="https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/query-dsl/"&gt;Query DSL&lt;/a&gt;, 기본적인 ML 개념&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;소요 시간&lt;/strong&gt;: 약 25-30분&lt;/p&gt;</description></item><item><title>한글 검색 최적화</title><link>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/korean-search/</link><pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/elasticsearch/concepts/korean-search/</guid><description>&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;선수 개념&lt;/strong&gt;&lt;br&gt;&lt;p&gt;이 문서를 읽기 전에 다음 개념을 먼저 이해하세요:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="data-modeling/"&gt;데이터 모델링&lt;/a&gt; - Analyzer, text vs keyword 타입&lt;/li&gt;
&lt;li&gt;&lt;a href="query-dsl/"&gt;Query DSL&lt;/a&gt; - match, multi_match 쿼리&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;소요 시간&lt;/strong&gt;: 약 25-30분&lt;/p&gt;
&lt;h2 id="전체-비유-외국인을-위한-한글-도서-검색"&gt;전체 비유: 외국인을 위한 한글 도서 검색&lt;a class="anchor" href="#%ec%a0%84%ec%b2%b4-%eb%b9%84%ec%9c%a0-%ec%99%b8%ea%b5%ad%ec%9d%b8%ec%9d%84-%ec%9c%84%ed%95%9c-%ed%95%9c%ea%b8%80-%eb%8f%84%ec%84%9c-%ea%b2%80%ec%83%89"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;한글 검색 최적화를 &lt;strong&gt;외국인 사서가 한글 도서를 색인하는 상황&lt;/strong&gt;에 비유하면 이해하기 쉽습니다:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;한글 검색 비유&lt;/th&gt;
 &lt;th&gt;Elasticsearch&lt;/th&gt;
 &lt;th&gt;역할&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;영어 사서: &amp;ldquo;삼성전자가&amp;quot;를 통째로 기록&lt;/td&gt;
 &lt;td&gt;Standard Analyzer&lt;/td&gt;
 &lt;td&gt;조사 분리 못함&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;한국어 사서: &amp;ldquo;삼성전자+가&amp;quot;로 분리&lt;/td&gt;
 &lt;td&gt;Nori Analyzer&lt;/td&gt;
 &lt;td&gt;형태소 분석으로 조사 분리&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;삼성전자&amp;rdquo; → &amp;ldquo;삼성 + 전자&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;decompound_mode: mixed&lt;/td&gt;
 &lt;td&gt;복합명사 분해&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;신조어/브랜드명 등록&lt;/td&gt;
 &lt;td&gt;사용자 사전&lt;/td&gt;
 &lt;td&gt;특수 단어 인식&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;갤럭&amp;rdquo; 입력 시 &amp;ldquo;갤럭시&amp;rdquo; 추천&lt;/td&gt;
 &lt;td&gt;자동완성 (Edge N-gram)&lt;/td&gt;
 &lt;td&gt;접두어 매칭&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;ㄱㄹㅅ&amp;quot;로 &amp;ldquo;갤럭시&amp;rdquo; 찾기&lt;/td&gt;
 &lt;td&gt;초성 검색&lt;/td&gt;
 &lt;td&gt;자음 추출 후 매칭&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&amp;ldquo;노트북 = 랩탑&amp;rdquo; 등록&lt;/td&gt;
 &lt;td&gt;동의어 처리&lt;/td&gt;
 &lt;td&gt;유사어 확장 검색&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;이처럼 한글 검색은 &amp;ldquo;한글의 특성을 이해하는 전문 사서를 배치&amp;quot;하는 것과 같습니다.&lt;/p&gt;</description></item></channel></rss>