✅ 인덱스(index) 생성, 조회 및 삭제

Elasticsearch에서 인덱스(index)를 생성하는 건 MySQL에서 테이블(table)을 생성하는 것과 같다.

인덱스 생성 및 조회

# 인덱스 생성
# PUT /{인덱스명}
PUT /users

# 인덱스 생성됐는 지 확인하기
# GET /{인덱스명}
GET /users

# 없는 인덱스를 조회했을 때 응답값 확인하기
GET /abc

참고) 위 명령어를 입력했을 때 나오는 응답값의 모든 의미를 처음부터 다 알 필요없다. 그러니 부담갖지 말고 핵심 기능에 초점을 맞춰 학습하자. (파레토의 법칙)

인덱스 삭제

# 인덱스 생성
PUT /boards

# 인덱스 생성됐는 지 확인하기
GET /boards

# 인덱스 삭제
# DELETE /{인덱스명}
DELETE /boards

# 삭제됐는 지 확인하기
GET /boards

✅ 매핑(mapping) 정의

Elasticsearch에서 매핑(mapping)을 정의하는 건 MySQL에서 테이블의 스키마(schema)를 정의하는 것과 같다.

# 매핑 정의하기
# PUT /{인덱스명}/_mappings
PUT /users/_mappings
{
  "properties": {
    "name": { "type": "keyword" },
    "age": { "type": "integer" },
    "is_active": { "type": "boolean" }
  }
}

# 정의한 매핑 확인하기
GET /users

**참고) 매핑(mapping)**의 타입이나 특징에 대해서는 나중에 다시 한 번 자세히 다룰 예정이다.

✅ 도큐먼트(document) 삽입 및 조회

Elasticsearch에서 도큐먼트(document)을 삽입하는 건 MySQL에서 테이블에 레코드(record)를 삽입하는 것과 같다.

# 도큐먼트 삽입
# POST /{인덱스명}/_doc
POST /users/_doc
{
  "name": "Alice",
  "age": 28,
  "is_active": true
}

POST /users/_doc
{
  "name": "Bob",
  "age": 30,
  "is_active": false
}

# 모든 도큐먼트 조회
# GET /{인덱스명}/_search
GET /users/_search