Elastic Search alias 설정

한민기·2024년 7월 30일

Elastic Search

목록 보기
1/6

1. Elastic Search의 alias란?

색인의 별명 index의 또 다른 이름 이라고 생각하면 된다.
그래서 index의 이름 대신 alias 설정을 통해 index를 직접 사용하는 것이 아닌 alias를 사용할 수 있다.

2. alias 사용 방법

POST /_aliases?pretty
{
  "actions": [
    {
      "add": {
        "index": "my_next_index",
        "alias": "my_alias"
      },
      "remove": {
	      "index": "my_before_index",
	      "alias": "my_alias"
      }
    }
  ]
}

Post /_aliases 로 aliases를 설정할 수 있다,
예시는 alias에 my_next_index를 추가하였고
그 후 my_before_index를 제거 하였다.

3. alias에 적용된 index 찾기

GET /_alias/my_alias

GET /_alias를 통해 alias에 적용된 index 정보를 볼 수 있다.

4. 그러면 왜 alias 기능을 사용하는가?

저의 경우는 이전 프로젝트에서 mysql과 elastic search를 함께 사용하였습니다.
mysql과 elastic search의 데이터를 일치시키기 위해 여러가지 방법 중 부분 색인과 전체 색인을 같이 진행하였습니다.
그래서 전체 색인을 진행할 때 기존 index를 건들지 않고 새로운 index를 만들고 alias 설정만 추가한다면 도중에 서비스를 중지하지 않고 사용할 수 있어 진행하였습니다.


참고로 저의 이전 프로젝트 elastic search 구조를 넣어 보았습니다.
저는 데이터 정합성을 때문에 전체 색인과 부분 색인을 진행하였습니다.
매일 mysql에 있는 데이터를 elastic으로 전체 색인하는 방법을 사용하고, 실시간으로 수정되는 내용은 부분 색인을 통해 진행하였습니다.
전체 색인이 진행하는 동안은 부분색인이 진행하지 않도록 하였습니다.

profile
백엔드 개발자

0개의 댓글