본문 바로가기
OpenSearch (ElasticSearch)

[5] 인덱스 별칭 (aliases)

by parkjp 2022. 2. 22.

별칭은 하나 이상의 인덱스를 가리킬 수 있는 가상 인덱스 이름입니다.

데이터가 여러 인덱스에 분산되어 있는 경우 쿼리할 인덱스를 추적하는 대신 별칭을 만들어 쿼리할 수 있습니다.

에를 들어, 월 단위 로그를 인덱스에 저장하고 이전 2개월 동안 로그를 자주 쿼리하는 경우 'last_2_months'라는 별칭을 만들고 매달 업데이트 할 수 있습니다.

 

별칭이 가리키는 인덱스는 언제든지 변경할 수 있으므로 별칭을 사용하여 인덱스를 참조하면 다운타임 없이 데이터를 다시 인덱싱할 수 있습니다.

 

 

:: 별칭 만들기

 

// 별칭을 만들때 POST 요청을 사용합니다.
POST _aliases
 
 
// 아래는 actions를 사용하여 'alias1'이라는 별칭을 만들고 'index-1'을 이 별칭에 추가하는 요청이다.
POST _aliases
{
  "actions": [
    {
      "add": {
        "index": "index-1",
        "alias": "alias1"
      }
    }
  ]
}
 
 
// 아래 요청이 나온다면 성공
{
   "acknowledged": true
}
 
 
// 만약 요청이 실패했다면, 이미 별칭에 추가되어있는지 확인하고 아래 명령어를 실행하여 확인해 보는것이 좋다.
GET alias1

 

 

:: 인덱스 추가 또는 제거

 

// 같은 _aliases 작업 내에서 여러 actions들을 실행할 수 있음.
// index-1을 제거하고 alias1에 index-2를 추가하는 작업.
POST _aliases
{
  "actions": [
    {
      "remove": {
        "index": "index-1",
        "alias": "alias1"
      }
    },
    {
      "add": {
        "index": "index-2",
        "alias": "alias1"
      }
    }
  ]
}
 
 
 
 
// 인덱스 패턴을 사용하여 여러 인덱스를 추가하는 작업.
POST _aliases
{
  "actions": [
    {
      "add": {
        "index": "index*",
        "alias": "alias1"
      }
    }
  ]
}

 

 

:: 별칭 관리

 

// 별칭 관리 Requests


GET _cat/aliases?v
 
 
// 응답 예시
alias     index   filter    routing.index   routing.search
alias1    index-1   *
 
 
// 별칭이 가리키는 인덱스 확인 요청
GET _alias/alias1
 
 
 
 
// 응답 예시
{
  "index-2": {
    "aliases": {
      "alias1": {}
    }
  }
}
 
 
// 특정 인덱스를 가리키는 별칭 검색
GET /index-2/_alias/*
 
 
// 'alias1'이라는 별칭 존재 유무 확인 요청
HEAD /alias1/_alias/

 

 

:: 인덱스 생성 시 별칭 추가

 

PUT index-1
{
  "aliases": {
    "alias1": {}
  }
}

 

 

:: 필터링 된 별칭 만들기

 

// 필터링 된 별칭을 만들어 기본 인덱스에서 문서 또는 필드의 하위 집합에 액세스할 수 있습니다.
// 특정 timestamp 필드만 alias1에 추가합니다.
POST _aliases
{
  "actions": [
    {
      "add": {
        "index": "index-1",
        "alias": "alias1",
        "filter": {
          "term": {
            "timestamp": "1574641891142"
          }
        }
      }
    }
  ]
}

 

 

:: 인덱스 별칭 옵션

 

Option Valid values Description Required
index String 별칭을 가리키는 인덱스 이름 Yes
alias String 별칭 이름 No
filter Object 별칭에 추가되는 필터 객체 No
routing String 샤드 value와 연관된 검색 제한. search_routing과 index_routing 값을 독립적으로 지정할 수 있다. No
is_write_index String   No
반응형

'OpenSearch (ElasticSearch)' 카테고리의 다른 글

[7] 인덱스 템플릿  (0) 2022.03.02
[6] 데이터 스트림  (0) 2022.02.25
[4] 인덱스 데이터  (0) 2022.02.18
[3] 인덱스 생성과 설정 예제  (0) 2022.02.17
[2] Opensearch와 클러스터 설정  (0) 2022.02.14