[Elasticsearch] ๋ณ„์นญ (alias)

[์›๋ณธ ๋งํฌ]

๋ณ„์นญ์€ Elasticsearch์˜ ์œ ์šฉํ•œ ๋ณด์กฐ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜๋‹ค.
๊ทธ๋ƒฅ ์ด๋ฆ„ ๋ถ™์ด๋Š” ๊ฒƒ์„ ๋„˜์–ด์„œ, ์ผ์ข…์˜ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ๋น„์Šทํ•œ ์—ญํ• ๋„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋ณ„์นญ์ด ๋ถ™์€ ์ธ๋ฑ์Šค๋Š” ๋ณ„์นญ์„ ํ†ตํ•ด์„œ๋„ ๋™์ผํ•œ ๋™์ž‘์„ ์ทจํ•  ์ˆ˜ ์žˆ๋‹ค.

๋งŒ๋“œ๋Š” ๋ฒ•์€ ๊ฐ„๋‹จํ•˜๋‹ค.
_aliases API์— ์ƒ์„ฑ ์š”์ฒญ์„ ํ•˜๋ฉด ๋œ๋‹ค.

์ด๊ฑด market_item_v7_0_0๋ผ๋Š” ์ธ๋ฑ์Šค์— market_item์ด๋ผ๋Š” ๋ณ„์นญ์„ ๋ถ™์—ฌ์ค€ ๊ฒƒ์ด๋‹ค.


๊ทธ๋Ÿฌ๋ฉด ์ด๋ ‡๊ฒŒ alias ๋ชฉ๋ก์œผ๋กœ ์กฐํšŒ๊ฐ€ ๋˜๋ฉฐ


alias๋ฅผ ํ†ตํ•ด์„œ๋„ ์ธ๋ฑ์Šค์— ๋Œ€ํ•ด์„œ ๊ฒ€์ƒ‰์ด๋‚˜ write ๋“ฑ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.




๋‹ค์šดํƒ€์ž„ ์—†๋Š” alias ๊ต์ฒด

alias๋Š” ์„œ๋ฒ„๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ธ๋ฑ์Šค๋ฅผ ๊ต์ฒดํ•  ๋•Œ๋„ ์šฉ์ดํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

elasticsearch๋ฅผ ์“ฐ๋‹ค๋ณด๋ฉด ํ•˜์œ„ํ˜ธํ™˜์ด ๋ณด์žฅ๋˜๋Š” ์ƒํƒœ๋กœ ์ธ๋ฑ์Šค๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค๋•Œ๊ฐ€ ๋งŽ๋‹ค. ์ปฌ๋Ÿผ์„ ์ถ”๊ฐ€ํ•œ๋‹ค๊ฑฐ๋‚˜ ํ•ด๋„ ์ธ๋ฑ์Šค๋ฅผ ์ƒˆ๋กœ ๋”ฐ์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
๊ทธ๋Ÿฌ๋ฉด ๋งค๋ฒˆ ์„œ๋ฒ„๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ธ๋ฑ์Šค๋ฅผ ๋ฐ”๊ฟ”์„œ ๋ฐฐํฌ๋ฅผ ํ•ด์•ผํ•˜๋Š”๋ฐ, alias๋ฅผ ์“ฐ๋ฉด ์ด๊ฑธ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

alias ์ฒ˜๋ฆฌ API๊ฐ€ ์›์ž์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด, market_item๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์‹ค์ œ ์ธ๋ฑ์Šค๋ฅผ market_item_v5.3.0์—์„œ market_item_v6.0.0๋กœ ๋ฐ”๊พธ๊ณ  ์‹ถ๋‹ค๋ฉด, ์ด๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

{
  "actions": [
    {
      "remove": {
        "index": "market_item_v5.3.0",
        "alias": "market_item"
      }
    },
    {
      "add": {
        "index": "market_item_v6.0.0",
        "alias": "market_item"
      }
    }
  ]
}

๊ทธ๋Ÿฌ๋ฉด ๋‹ค์šดํƒ€์ž„ ์—†์ด ์ˆœ์‹๊ฐ„์— alias๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ธ๋ฑ์Šค๋ฅผ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ๋‹ค.




์ฐธ์กฐ
https://www.elastic.co/docs/manage-data/data-store/aliases