# Elastic 가이드 북

> 이 가이드북은 출판을 위해 집필중이던 내용을 Elastic을 처음 시작하시는 분들께 도움이 되고 커뮤니티와 함께 완성 해 나가려는 목적으로 공개하게 되었습니다. 모든 문서에 대한 저작권은 저자인 [**김종민**](http://kimjmin.net)에게 있으며 허가되지 않은 무단 복제나 배포 및 출판을 금지합니다. 본 문서의 내용 및 도표들을 인용하고자 하는 경우 출처를 명시하고 **김종민(<kimjmin@gmail.com>)**&#xC5D0;게 사용 내용을 알려주시기 바랍니다.

## 목차

* [1. 서문](https://esbook.kimjmin.net/01-overview)
  * [1.1 Elastic Stack 소개](https://esbook.kimjmin.net/01-overview/1.1-elastic-stack)
    * [1.1.1 Elasticsearch](https://esbook.kimjmin.net/01-overview/1.1-elastic-stack/1.1.1-elasticsearch)
    * [1.1.2 Logstash](https://esbook.kimjmin.net/01-overview/1.1-elastic-stack/1.1.2-logstash)
    * [1.1.3 Kibana](https://esbook.kimjmin.net/01-overview/1.1-elastic-stack/1.1.3-kibana)
    * [1.1.4 Beats](https://esbook.kimjmin.net/01-overview/1.1-elastic-stack/1.1.4-beats)
* [2. Elasticsearch 시작하기](https://esbook.kimjmin.net/02-install)
  * [2.1 데이터 색인](https://esbook.kimjmin.net/02-install/2.1)
  * [2.2 설치 및 실행](https://esbook.kimjmin.net/02-install/2.2)
    * [2.2.1 다운로드 설치 및 실행](https://esbook.kimjmin.net/02-install/2.2/2.2.1-download-install)
    * [2.2.2 Unix RPM (yum) 설치 및 실행](https://esbook.kimjmin.net/02-install/2.2/2.2.2-unix-rpm-yum)
    * [2.2.3 윈도우 운영체제에서 MSI 파일로 설치](https://esbook.kimjmin.net/02-install/2.2/2.2.3-msi)
  * [2.3 elasticsearch 환경 설정](https://esbook.kimjmin.net/02-install/2.3-elasticsearch)
    * [2.3.1 jvm.options](https://esbook.kimjmin.net/02-install/2.3-elasticsearch/2.3.1-jvm.options)
    * [2.3.2 elasticsearch.yml](https://esbook.kimjmin.net/02-install/2.3-elasticsearch/2.3.2-elasticsearch.yml)
    * [2.3.3 노드의 역할 : master, data, ingest, ml](https://esbook.kimjmin.net/02-install/2.3-elasticsearch/2.3.3-node-settings)
    * [2.3.4 커맨드 라인 설정](https://esbook.kimjmin.net/02-install/2.3-elasticsearch/2.3.4-cofig-on-start-command)
* [3. Elasticsearch 시스템 구조](https://esbook.kimjmin.net/03-cluster)
  * [3.1 클러스터 구성](https://esbook.kimjmin.net/03-cluster/3.1-cluster-settings)
  * [3.2 인덱스와 샤드 - Index & Shards](https://esbook.kimjmin.net/03-cluster/3.2-index-and-shards)
  * [3.3 마스터 노드와 데이터 노드 - Master & Data Nodes](https://esbook.kimjmin.net/03-cluster/3.3-master-and-data-nodes)
* [4. Elasticsearch 데이터 처리](https://esbook.kimjmin.net/04-data)
  * [4.1 REST API](https://esbook.kimjmin.net/04-data/4.1-rest-api)
  * [4.2 CRUD - 입력, 조회, 수정, 삭제](https://esbook.kimjmin.net/04-data/4.2-crud)
  * [4.3 벌크 API - \_bulk API](https://esbook.kimjmin.net/04-data/4.3-_bulk)
  * [4.4 검색 API - \_search API](https://esbook.kimjmin.net/04-data/4.4-_search)
* [5. 검색과 쿼리 -  Query DSL](https://esbook.kimjmin.net/05-search)
  * [5.1 풀 텍스트 쿼리 - Full Text Query](https://esbook.kimjmin.net/05-search/5.1-query-dsl)
  * [5.2 Bool 복합 쿼리 - Bool Query](https://esbook.kimjmin.net/05-search/5.2-bool)
  * [5.3 정확도 - Relevancy](https://esbook.kimjmin.net/05-search/5.3-relevancy)
  * [5.4 Bool : Should](https://esbook.kimjmin.net/05-search/5.4-keyword)
  * [5.5 정확값 쿼리 - Exact Value Query](https://esbook.kimjmin.net/05-search/5.5-exact-value)
  * [5.6 범위 쿼리 - Range Query](https://esbook.kimjmin.net/05-search/5.6-range)
* [6. 데이터 색인과 텍스트 분석](https://esbook.kimjmin.net/06-text-analysis)
  * [6.1 역 인덱스 - Inverted Index](https://esbook.kimjmin.net/06-text-analysis/6.1-indexing-data)
  * [6.2 텍스트 분석 - Text Analysis](https://esbook.kimjmin.net/06-text-analysis/6.2-text-analysis)
  * [6.3 애널라이저 - Analyzer](https://esbook.kimjmin.net/06-text-analysis/6.3-analyzer-1)
    * [6.3.1 \_analyze API](https://esbook.kimjmin.net/06-text-analysis/6.3-analyzer-1/6.3-analyzer)
    * [6.3.2 Term 쿼리](https://esbook.kimjmin.net/06-text-analysis/6.3-analyzer-1/6.3.1-term)
    * [6.3.3 사용자 정의 애널라이저 - Custom Analyzer](https://esbook.kimjmin.net/06-text-analysis/6.3-analyzer-1/6.4-custom-analyzer)
    * [6.3.4 텀 벡터 - \_termvectors API](https://esbook.kimjmin.net/06-text-analysis/6.3-analyzer-1/6.4.1-_termvectors-api)
  * [6.4 캐릭터 필터 - Character Filter](https://esbook.kimjmin.net/06-text-analysis/6.4-character-filter)
    * [6.4.1 HTML Strip](https://esbook.kimjmin.net/06-text-analysis/6.4-character-filter/6.4.1-html-strip)
    * [6.4.2 Mapping](https://esbook.kimjmin.net/06-text-analysis/6.4-character-filter/6.4.2-mapping)
    * [6.4.3 Pattern Replace](https://esbook.kimjmin.net/06-text-analysis/6.4-character-filter/6.4.3-pattern-replace)
  * [6.5 토크나이저 - Tokenizer](https://esbook.kimjmin.net/06-text-analysis/6.5-tokenizer)
    * [6.5.1 Standard, Letter, Whitespace](https://esbook.kimjmin.net/06-text-analysis/6.5-tokenizer/6.5.1-standard-letter-whitespace)
    * [6.5.2 UAX URL Email](https://esbook.kimjmin.net/06-text-analysis/6.5-tokenizer/6.5.2-uax-url-email)
    * [6.5.3 Pattern](https://esbook.kimjmin.net/06-text-analysis/6.5-tokenizer/6.5.3-pattern)
    * [6.5.4 Path Hierarchy](https://esbook.kimjmin.net/06-text-analysis/6.5-tokenizer/6.5.4-path-hierarchy)
  * [6.6 토큰 필터 - Token Filter](https://esbook.kimjmin.net/06-text-analysis/6.6-token-filter)
    * [6.6.1 Lowercase, Uppercase](https://esbook.kimjmin.net/06-text-analysis/6.6-token-filter/6.6.1-lowercase-uppercase)
    * [6.6.2 Stop](https://esbook.kimjmin.net/06-text-analysis/6.6-token-filter/6.6.2-stop)
    * [6.6.3 Synonym](https://esbook.kimjmin.net/06-text-analysis/6.6-token-filter/6.6.3-synonym)
    * [6.6.4 NGram, Edge NGram, Shingle](https://esbook.kimjmin.net/06-text-analysis/6.6-token-filter/6.6.4-ngram-edge-ngram-shingle)
    * [6.6.5 Unique](https://esbook.kimjmin.net/06-text-analysis/6.6-token-filter/6.6.5-unique)
  * [6.7 형태소 분석 - Stemming](https://esbook.kimjmin.net/06-text-analysis/6.7-stemming)
    * [6.7.1 Snowball](https://esbook.kimjmin.net/06-text-analysis/6.7-stemming/6.7.1-snowball)
    * [6.7.2 노리 (nori) 한글 형태소 분석기](https://esbook.kimjmin.net/06-text-analysis/6.7-stemming/6.7.2-nori)
* [7. 인덱스 설정과 매핑 - Settings & Mappings](https://esbook.kimjmin.net/07-settings-and-mappings)
  * [7.1 설정 - Settings](https://esbook.kimjmin.net/07-settings-and-mappings/7.1-settings)
  * [7.2 매핑 - Mappings](https://esbook.kimjmin.net/07-settings-and-mappings/7.2-mappings)
    * [7.2.1 문자열 - text, keyword](https://esbook.kimjmin.net/07-settings-and-mappings/7.2-mappings/7.2.1)
    * [7.2.2 숫자 - long, double ...](https://esbook.kimjmin.net/07-settings-and-mappings/7.2-mappings/7.2.2)
    * [7.2.3 날짜 - date](https://esbook.kimjmin.net/07-settings-and-mappings/7.2-mappings/7.2.3-date)
    * [7.2.4 불리언 - boolean](https://esbook.kimjmin.net/07-settings-and-mappings/7.2-mappings/7.2.4-boolean)
    * [7.2.5 Object 와 Nested](https://esbook.kimjmin.net/07-settings-and-mappings/7.2-mappings/7.2.5-object-nested)
    * [7.2.6 위치 정보 - Geo](https://esbook.kimjmin.net/07-settings-and-mappings/7.2-mappings/7.2.6-geo)
    * [7.2.7 기타 필드 타입 - IP, Range, Binary](https://esbook.kimjmin.net/07-settings-and-mappings/7.2-mappings/7.2.7-ip-range-binary)
  * [7.3 멀티 (다중) 필드 - Multi Field](https://esbook.kimjmin.net/07-settings-and-mappings/7.3-multi-field)
* [8. 집계 - Aggregations](https://esbook.kimjmin.net/08-aggregations)
  * [8.1 메트릭 - Metrics Aggregations](https://esbook.kimjmin.net/08-aggregations/8.1-metrics-aggregations)
  * [8.2 버킷 - Bucket Aggregations](https://esbook.kimjmin.net/08-aggregations/8.2-bucket-aggregations)
  * [8.3 하위 - sub-aggregations](https://esbook.kimjmin.net/08-aggregations/8.3-aggregations)
  * [8.4 파이프라인 - Pipeline Aggregations](https://esbook.kimjmin.net/08-aggregations/8.4-pipeline-aggregations)

{% hint style="info" %}
&#x20; 이 가이드북에 있는 대부분의 내용은 [Elastic 공식 도큐먼트](https://www.elastic.co/guide/index.html)를 참고하여 작성되었습니다.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://esbook.kimjmin.net/master.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
