ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 엘라스틱 서치 10 - 인덱스 설정, 매핑, 템플릿 등록, 라이프사이클 관리
    Infra 2023. 12. 28. 20:00

    주제 10: 엘라스틱서치(Elasticsearch)에서의 인덱스 설정, 매핑, 템플릿 등록 및 라이프 사이클 관리

    엘라스틱서치는 데이터를 저장하고 검색하기 위한 기본 단위인 인덱스를 관리하는 기능을 제공합니다. 이번 주제에서는 인덱스 설정, 매핑, 템플릿 등록 및 라이프 사이클 관리에 대해 알아보겠습니다.

    10.1 인덱스 설정 및 매핑 개념

    엘라스틱서치의 인덱스는 특정 유형의 문서를 저장하는 데 사용되며, 여러 샤드로 구성됩니다. 각 인덱스는 설정 및 매핑을 가지며, 이를 통해 인덱스의 성능과 검색 결과의 정확성을 향상시킬 수 있습니다.

    Elasticsearch Index Setting & Mapping

    10.2 인덱스 설정 및 매핑 실습

    10.2.1 인덱스 생성 및 설정

    아래 예제는 'my_index'라는 인덱스를 생성하면서 샤드 개수와 복제 개수를 설정하는 API 호출입니다.

    curl -X PUT "localhost:9200/my_index?pretty" -H 'Content-Type: application/json' -d'
    {
      "settings" : {
        "index" : {
          "number_of_shards" : 3, 
          "number_of_replicas" : 2 
        }
      }
    }
    '

    10.2.2 인덱스 매핑 설정

    아래 예제는 'my_index'라는 인덱스에 대해 'message' 필드의 데이터 유형을 text로 설정하는 매핑 API 호출입니다.

    curl -X PUT "localhost:9200/my_index/_mapping?pretty" -H 'Content-Type: application/json' -d'
    {
      "properties" : {
        "message" : {
          "type" : "text"
        }
      }
    }
    '

    10.3 인덱스 템플릿 등록 및 라이프 사이클 관리

    인덱스 템플릿을 사용하면, 새로운 인덱스가 생성될 때 마다 특정 설정 및 매핑을 자동으로 적용할 수 있습니다. 또한, 인덱스 라이프 사이클 관리 기능을 통해 인덱스의 생성, 수정, 삭제 등의 라이프 사이클을 자동으로 관리할 수 있습니다.

    10.3.1 인덱스 템플릿 등록

    아래 예제는 'my_template'라는 인덱스 템플릿을 등록하는 API 호출입니다. 이 템플릿은 'log*'로 시작하는 모든 새 인덱스에 적용되며, 샤드 개수와 복제 개수를 설정합니다.

    curl -X PUT "localhost:9200/_template/my_template?pretty" -H 'Content-Type: application/json' -d'
    {
      "index_patterns" : ["log*"],
      "settings" : {
        "number_of_shards" : 2
      }
    }
    '

    10.3.2 인덱스 라이프 사이클 관리

    아래 예제는 'my_policy'라는 인덱스 라이프 사이클 정책을 생성하는 API 호출입니다. 이 정책은 인덱스가 30일이 되면 강제로 삭제합니다.

    curl -X PUT "localhost:9200/_ilm/policy/my_policy?pretty" -H 'Content-Type: application/json' -d'
    {
      "policy": {                       
        "phases": {
          "delete": {
            "min_age": "30d",          
            "actions": {
              "delete": {}              
            }
          }
        }
      }
    }
    '

    이렇게 엘라스틱서치에서는 인덱스 설정, 매핑, 템플릿 등록 및 라이프 사이클 관리 기능을 통해 인덱스를 효율적으로 관리할 수 있습니다. 다음 주제에서는 엘라스틱서치의 데이터 분석 기능에 대해 알아보겠습니다.

    댓글

Paycis's