[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