Elasticsearch에서 인덱스(index)를 생성하는 건 MySQL에서 테이블(table)을 생성하는 것과 같다.
인덱스 생성 및 조회
# 인덱스 생성
# PUT /{인덱스명}
PUT /users
# 인덱스 생성됐는 지 확인하기
# GET /{인덱스명}
GET /users
# 없는 인덱스를 조회했을 때 응답값 확인하기
GET /abc
참고) 위 명령어를 입력했을 때 나오는 응답값의 모든 의미를 처음부터 다 알 필요없다. 그러니 부담갖지 말고 핵심 기능에 초점을 맞춰 학습하자. (파레토의 법칙)
인덱스 삭제
# 인덱스 생성
PUT /boards
# 인덱스 생성됐는 지 확인하기
GET /boards
# 인덱스 삭제
# DELETE /{인덱스명}
DELETE /boards
# 삭제됐는 지 확인하기
GET /boards
Elasticsearch에서 매핑(mapping)을 정의하는 건 MySQL에서 테이블의 스키마(schema)를 정의하는 것과 같다.
# 매핑 정의하기
# PUT /{인덱스명}/_mappings
PUT /users/_mappings
{
"properties": {
"name": { "type": "keyword" },
"age": { "type": "integer" },
"is_active": { "type": "boolean" }
}
}
# 정의한 매핑 확인하기
GET /users
**참고) 매핑(mapping)**의 타입이나 특징에 대해서는 나중에 다시 한 번 자세히 다룰 예정이다.
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