ElasticSearch(ES)

ES 기본적인 명령어 (역 Index의 개념)

전한준 2026. 8. 31. 21:27

 

ElasticSearch는 단어 순서가 바뀌더라도 조회가 가능하다. 

 

PUT /products

 

이게 인덱스(테이블) 을 만드는 명령어다 .

 

PUT /products/_mappings
{
  "properties": {
    "name": { 
      "type": "text"
    }
  }
}

 

매핑(스키마) 를  정의하는 명령어다 .

 

# 도큐먼트 삽입
# POST /{인덱스명}/_doc
POST /products/_doc
{
  "name": "Apple 2025 맥북 에어 13 M4 10코어"
}

 

도큐먼트를 삽입하는 명령어이다. 

 

 

# 모든 도큐먼트 조회
GET /products/_search

 

도큐먼트가 잘 들어갔는지 확인하는 명령어이다.  

 

 

# 특정 조건을 만족하는 도큐먼트 조회
# (name 필드에 '맥북 에어 13 M4'가 포함된 도큐먼트 조회)
GET /products/_search
{
  "query": {
    "match": {
      "name": "맥북 에어 13 M4" 
    }
  }
}

 

특정조건을 만족하는 도큐먼트를 검색하기 위해서는 _search "query" 랑 "match" : "name"을 써주자 .

 

 

GET /products/_search
{
  "query": {
    "match": {
      "name": "맥북 13 에어 M4"
    }
  }
}

 

단어의 순서를 바꾸어도 잘 된다. 

 

 

 


 

 

역인덱스는  무엇인가?

POST /products/_create/1
{
  "name": "Apple 2025 맥북 에어 13 M4 10코어"
}

POST /products/_create/2
{
  "name": "Apple 2024 에어팟 4세대"
}

POST /products/_create/3
{
  "name": "Apple 2024 아이패드 mini A17 Pro"
}

 

도큐먼트를 삽입을 해 주면 

 

 

넣으려는 값을 토큰 단위로 잘려서 저장이 된다. 

 

 

필드 값을 잘려서 역인덱스에 저장된 단어를 보고 토큰이라고 한다. 

생성된 역인덱스는 눈으로 볼 수 있는 명령어는 없다. 

 

 

Apple 2024 아이패드

라고 검색하면 역인덱스를 활용해 일치하는 단어가 많은 도큐먼트를 우선적으로 조회한다.

 

 

검색어랑 관련성이 높은 수록 score 가 높고 그 순서대로 정보를 가져온다. 

-> 이러한 정보는  데이터 타입에서 text 기준으로 적용이 된다.