Elasticsearch

[Elasticsearch] 엘라스틱 서치 데이터 색인

다콩잉 2023. 4. 7. 13:47

 

 

Elasticsearch에서 데이터를 입력할 때, 저장이 아닌 색인한다고 표현합니다.

 

 

Bulk API(일괄 처리)

  • Bulk API는 여러 개의 문서를 한 번에 색인하거나 삭제하거나 업데이트할 수 있는 API입니다. 일반적으로 대량의 데이터를 처리해야 할 때 유용하게 사용됩니다.
  • 매우 큰 데이터셋을 처리할 때 일괄 처리를 수행하므로 시스템 부하를 줄일 수 있습니다.
  • Bulk API는 색인, 업데이트, 삭제를 수행할 수 있습니다.

 

// Bulk API를 사용하여 색인하는 예시

POST /{인덱스명}/_bulk
{ "index" : { "_index" : "{인덱스명}", "_id" : "1" } }
{ "title": "제목1", "content": "내용1" }
{ "index" : { "_index" : "{인덱스명}", "_id" : "2" } }
{ "title": "제목2", "content": "내용2" }
{ "index" : { "_index" : "{인덱스명}", "_id" : "3" } }
{ "title": "제목3", "content": "내용3" }

 

 

 

index API(단일 처리)

방법

  • {index}는 색인할 인덱스의 이름이고, {type}은 문서 유형을 나타내며, {id}는 색인할 문서의 고유 ID입니다.
  • 그리고 {field1}, {field2} 등은 문서의 필드를 나타냅니다.
PUT {index}/{type}/{id}
{
  "field1": "value1",
  "field2": "value2",
  ...
}

예시

  • 예를 들어, 'my_index',라는 인덱스에 'my_type' 이라는 유형의 문서를 색인하려면 다음과 같은 요청을 보낼 수 있습니다
  • 'my_index'인덱스에 'my_type' 이라는 유형의 문서를 색인하고, 문서 ID'1' 로 지정합니다. 문서는 'title''content'라는 두 개의 필드를 가지고 있습니다.
PUT my_index/my_type/1
{
  "title": "제목",
  "content": "내용"
}

문서 ID를 지정하지 않을 경우

  • 문서 ID를 지정하지 않으면 Elasticsearch는 자동으로 ID를 생성합니다.
  • 이 경우, 'index' API를 사용하여 문서를 색인할 때에는 경로의 끝에 슬래시를 사용하면 됩니다.
PUT {index}/{type}/
{
  "field1": "value1",
  "field2": "value2",
  ...
}

 

 

 

 

 

 

 

 

엘라스틱 서치 가이드북

- https://esbook.kimjmin.net/

 

Elastic 가이드 북 - Elastic 가이드북

7. 인덱스 설정과 매핑 - Settings & Mappings

esbook.kimjmin.net

 

728x90