[Meilisearch] ์ธ๋ฑ์Šค

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

์ธ๋ฑ์Šค๋Š” meilisearch์—์„œ ๊ฒ€์ƒ‰์˜ ๊ธฐ๋ณธ์ด ๋˜๋Š” ๋‹จ์œ„๋‹ค.

RDB์˜ ํ…Œ์ด๋ธ”, MongoDB์˜ ์ปฌ๋ ‰์…˜ ๋“ฑ๊ณผ ๋Œ€์‘์ด ๋˜๋ฉฐ, ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ๊ฐ์˜ ํ–‰(document)์œผ๋กœ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ฐ๊ฐ์˜ ์ธ๋ฑ์Šค๋Š” ๊ณ ์œ ํ•œ ์‹๋ณ„์ž=uid๋ฅผ ๊ฐ€์ง€๋ฉฐ, ๊ทธ ์•ˆ์˜ ๋ฐ์ดํ„ฐ๋“ค์ด ๊ฐ€์งˆ ๊ณ ์œ ํ‚ค์— ๋Œ€ํ•œ ๋ช…์„ธ๋งŒ์„ ๊ฐ€์ง„๋‹ค.
Elasticsearch์™€ ๋น„๊ตํ•˜๋ฉด ์ƒ๋‹นํžˆ ๋‹จ์ถœํ•œ ํŽธ์ด๋‹ค.

๊ทธ๋ž˜์„œ ์ธ๋ฑ์Šค ์ƒ์„ฑ API๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๊ฐ€ ๋œ๋‹ค.

foo๋ผ๋Š” ์ด๋ฆ„์˜ ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“ค๋˜, ๊ทธ ์•ˆ์˜ ๋ฐ์ดํ„ฐ๋“ค์€ id๋ผ๋Š” ํ•„๋“œ๋ฅผ ๊ธฐ๋ณธํ‚ค๋กœ ์ €์žฅ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
primaryKey๋ฅผ ๋”ฐ๋กœ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด "id"๋กœ ๋๋‚˜๋Š” ์ฒซ๋ฒˆ์งธ ํ•„๋“œ๋ฅผ ์ฐพ์•„์„œ ๊ธฐ๋ณธํ‚ค๋กœ ์‚ผ๋Š”๋‹ค.

GET /indexes api๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ธ๋ฑ์Šค ๋ชฉ๋ก์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.




๋ฒ„์ „ ๊ด€๋ฆฌ

์ธ๋ฑ์Šค๋„ ์„œ๋น„์Šค ๊ตฌ์กฐ๊ฐ€ ๋ณ€ํ™”ํ•จ์— ๋”ฐ๋ผ ๋‹น์—ฐํžˆ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ๋‹ฌ๋ผ์ง€๋Š” ์ผ์ด ๋ฐœ์ƒํ•œ๋‹ค.

meilisearch๋Š” ์ด์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ๊ฐ€์ด๋“œ๋ผ์ธ ๊ฐ™์€๊ฑธ ์ œ๊ณตํ•˜์ง„ ์•Š์œผ๋‚˜, elasticsearch์ฒ˜๋Ÿผ ์ธ๋ฑ์Šค๋ฅผ ๋ฒ„์ „ ๋‹จ์œ„๋กœ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ๋„ ๊ดœ์ฐฎ์œผ๋ฆฌ๋ผ๊ณ  ๋ณธ๋‹ค.




์ธ๋ฑ์Šค ๊ต์ฒด

์‚ฌ์šฉ์‚ฌ๋ก€์— ๋”ฐ๋ผ ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด์ง€๋งŒ, ์—”๋“œํฌ์ธํŠธ๋ฅผ ํŠน์ • ์ธ๋ฑ์Šค๋ช…์œผ๋กœ ๊ณ ์ •ํ•ด๋†“์€ ์ƒํƒœ์—์„œ ์‹ค์ œ๋กœ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ธ๋ฑ์Šค๋ฅผ ๋ฐ”๊พธ๊ณ  ์‹ถ์„ ๋•Œ๊ฐ€ ์žˆ๋‹ค. search engine์— ๋™๊ธฐํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐˆ์•„์—Ž๊ฑฐ๋‚˜ ํ• ๋•Œ๋Š” ์ข…์ข… ๊ทธ๋Ÿด ๋•Œ๊ฐ€ ์žˆ๋‹ค.

elasticsearch๋Š” index alias ๊ฐ™์€๊ฑธ ์จ์„œ ๋‹ค์šดํƒ€์ž„ ์—†์ด ์ธ๋ฑ์Šค๋ฅผ ๊ต์ฒดํ•˜๋Š”๊ฒŒ ์ข€ ํŽธํ•œ๋ฐ, ๊ทธ๊ฑด ์—†๊ณ  index swap์„ ํ†ตํ•ด์„œ ๋ชฉ์ ์„ ์–ด๋А์ •๋„๋Š” ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

์ฝ”๋“œ๋กœ ํ‘œํ˜„ํ•˜๋ฉด ์ด๋Ÿฐ ๋А๋‚Œ์ด๋‹ค.
"item"์ด๋ผ๋Š” ์ธ๋ฑ์Šค๊ฐ€ ์ด๋ฏธ ์žˆ๋Š” ์ƒํƒœ์—์„œ ์ƒˆ ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ๊ต์ฒดํ•˜๋Š” ์ฝ”๋“œ๋‹ค.

swap Index๋Š” ์›์ž์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ๋™์ž‘์ด๊ธฐ์—, ๊ฑฑ์ •ํ•  ๊ฒƒ์€ ๋ณ„๋กœ ์—†๋‹ค.



์ฐธ์กฐ
https://www.meilisearch.com/docs/learn/core_concepts/indexes
https://www.meilisearch.com/docs/reference/api/indexes#swap-indexes