[Elastic Search] Create (생성)
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"
필드를 확인할 수 있습니다.
Leave a comment