1 minute read

ElasticSearch의 Create 기능은 새로운 문서를 index에 추가하는 과정입니다. Create 작업은 HTTP POST 요청을 통해 이루어지며, 요청이 성공하면 ElasticSearch는 해당 문서를 색인에 저장하고 고유한 ID를 부여합니다. 이 과정은 매우 중요한데, 이를 통해 검색 엔진이 데이터를 빠르게 검색할 수 있는 구조를 형성하기 때문입니다.

1. 색인(Index) & 문서(Document)

ElasticSearch에서 데이터를 저장하는 기본 단위는 “문서(Document)” 입니다. 각 문서는 JSON 형식으로 표현되며, 특정 “색인(Index)” 에 저장됩니다. 색인은 데이터베이스의 테이블과 비슷한 개념으로, 여러 문서를 저장하는 공간입니다.

2. 문서(Document) 생성 기본 방식

기본적으로 문서(Document)를 생성할 때는 POST 요청을 사용하여 색인에 문서를 추가합니다. 문서가 성공적으로 생성되면, ElasticSearch는 해당 문서에 대해 고유한 식별자(ID)를 반환합니다.

# 예제

POST /my_index/_doc/
{
  "user": "홍길동",
  "message": "홍길동님 환영합니다!"
}

이 요청은 my_index라는 색인에 새로운 문서를 추가합니다. 이 경우 ID는 명시되지 않았으므로, ElasticSearch가 자동으로 고유한 ID를 생성합니다.

# 응답

{
  "_index": "my_index",
  "_id": "A12345B", 
  "_version": 1,
  "result": "created",
  "_shards": {
    "total": 2,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "_seq_no": 0,
  "_primary_term": 1
}

이 응답에서는 문서의 고유한 ID(_id)와 함께 문서가 성공적으로 생성되었음을 나타내는 "result": "created" 필드를 확인할 수 있습니다.

3. ID를 지정하여 문서 생성

문서를 생성할 때 ID를 직접 지정할 수도 있습니다. 이 방법은 동일한 ID를 가진 문서를 여러 번 생성하려는 경우에 유용할 수 있습니다. 지정된 ID가 이미 존재하면 해당 문서는 덮어쓰기가 아니라 오류를 반환합니다.

# 예제

PUT /my_index/_doc/1
{
  "user": "홍길동",
  "message": "아이디 1번이 지정된 문서입니다."
}

이 요청은 my_index 색인에 ID가 1인 문서를 생성합니다.

# 응답

{
  "_index": "my_index",
  "_id": "1",
  "_version": 1,
  "result": "created",
  "_shards": {
    "total": 2,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "_seq_no": 0,
  "_primary_term": 1
}

문서의 고유한 ID가 1번으로 생성되었음을 나타내는 "_id": "1" 필드를 확인할 수 있습니다.

Categories:

Updated:

Leave a comment