[MongoDB] atlas search: fuzzy

์ด์ „ ํฌ์ŠคํŠธ
https://blog.naver.com/sssang97/223191891092

fuzzy๋Š” ์˜คํƒ€๋ฅผ ๊ณ ๋ คํ•ด์„œ ๊ฒ€์ƒ‰ ํ‚ค์›Œ๋“œ๋ฅผ ๋งž์ถฐ์ฃผ๋Š” ๋ถ€๊ฐ€๊ธฐ๋Šฅ์ด๋‹ค.
elasticsearch์—๋„ fuzz๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์žˆ๋‹ค.

ํ›Œ๋ฃกํ•œ ๊ฒ€์ƒ‰์—”์ง„์ด๋ผ๋ฉด "๋น„๋น”๋‚ธ๋ฉด"์ด๋ผ ์น˜๋”๋ผ๋„, ์˜คํƒ€๋ฅผ ์–ด๋А์ •๋„ ๊ณ ๋ คํ•ด์„œ "๋น„๋น”๋ƒ‰๋ฉด"์ด ๊ฒ€์ƒ‰๋˜๊ฒŒ๋” ํ•ด์ค€๋‹ค.
์ด๋Ÿฐ๊ฑธ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋Šฅ์ด๋‹ค.


์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์ด name์ด buldak์ธ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋‹ค๊ณ  ์น˜๊ฒ ๋‹ค.

์ด๋Ÿด๋•Œ ์˜คํƒ€๋ฅผ ๋‚ด์„œ buldag์œผ๋กœ ๊ฒ€์ƒ‰์„ ์‹œ๋„ํ•˜๋”๋ผ๋„, ๋‹น์—ฐํžˆ ๋งค์นญ์ด ๋˜์ง„ ์•Š๋Š”๋‹ค.

ํ…์ŠคํŠธ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ด๋Ÿด๋•Œ fuzzy ๊ธฐ๋Šฅ์ด ๋น›์„ ๋ฐœํ•œ๋‹ค.
์˜ต์…˜๋งŒ ์ผœ์ฃผ๋ฉด

์˜คํƒ€๋ฅผ ๊ฐ์•ˆํ•ด์„œ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค.

์„ธ๋ถ€ ์˜ต์…˜์—๋Š” ์ด๋Ÿฐ๊ฒŒ ์žˆ๋‹ค.

์—ฌ๊ธฐ์„œ ์œ ์šฉํ•˜๊ฒŒ ์“ฐ์ผ๋งŒํ•œ ์˜ต์…˜์€ maxEdits์ด๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ 2์ธ๋ฐ, 2๋Š” ์ตœ๋Œ€ 2๊ฐœ์˜ ์˜คํƒ€๋ฅผ ํ—ˆ์šฉํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค.
๋„ˆ๋ฌด ํฌ๊ฒŒ ์žก์œผ๋ฉด ์˜คํžˆ๋ ค ๊ฒ€์ƒ‰ ์ •ํ™•๋„๊ฐ€ ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์Œ์— ์œ ์˜ํ•œ๋‹ค.




ํ•œ๊ธ€ ํ’ˆ์งˆ

์ด๊ฑด ๋‚ด๊ฐ€๋ณผ๋•Œ ์•ŒํŒŒ๋ฒณ์—๋งŒ ์ตœ์ ํ™”๋˜์–ด์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.
์•ŒํŒŒ๋ฒณ์€ ์ž๋ชจ๋ณ„๋กœ ๊ธ€์ž๊ฐ€ ๋ถ„์‚ฐ๋˜์–ด์žˆ์–ด์„œ ๋‹จ์ˆœํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ๋„ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ๋ฐ, ํ•œ๊ธ€์€ ๊ทธ๋ ‡์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ด๋ ‡๊ฒŒ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ๋‹ค ์น˜๋ฉด

"๋น„๋น”๋ฐ€๋ฉด"์œผ๋กœ fuzzy ๊ฒ€์ƒ‰ ์‹œ์— ๋น„๋น”๋ฐ€๋ฉด๊ณผ ๋น„๋น”๋ƒ‰๋ฉด์ด ๋‹ค ๋‚˜์˜จ๋‹ค.

๊ทผ๋ฐ ๋ฌธ์ œ๋Š”, ๊ธ€์ž ํ•˜๋‚˜ํ•˜๋‚˜๊ฐ€ ์•ŒํŒŒ๋ฒณ์— ๋น„ํ•ด ๋น„๋Œ€ํ•œ ํ•œ๊ธ€ ํŠน์„ฑ์ƒ, ๊ทธ๋ƒฅ ๊ธ€์ž ๋‹จ์œ„๋กœ๋งŒ fuzzy๋ฅผ ํ•˜๋ฉด, ์ด๋ ‡๊ฒŒ ํ™ฉ๋‹นํ•œ ๊ฒƒ๊นŒ์ง€ ๋งค์นญ์‹œํ‚ฌ ์ˆ˜๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋Ÿฐ ํ˜„์ƒ์€ ๊ฒ€์ƒ‰ ํ’ˆ์งˆ์„ ์‹ฌ๊ฐํ•˜๊ฒŒ ๋–จ์–ด๋œจ๋ฆด ์ˆ˜ ์žˆ๋‹ค.
Elasticsearch๋„ ์ด๋Ÿฐ ๋ถ€๋ถ„์—์„œ๋Š” ๊ต‰์žฅํžˆ ๊ตฌ๋ฆฐ ๊ธฐ๋Šฅ์„ ๋ณด์—ฌ์ฃผ๋Š”๋ฐ, Atlas search๋„ ๋‹ค๋ฆ„์€ ์—†๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

๋‚ด๊ฐ€ ๋ดค๋˜ ๊ฒƒ ์ค‘์— ํ•œ๊ธ€์— ๊ฐ€์žฅ ์“ฐ๊ธฐ ์ข‹์€๊ฑด ์˜์™ธ๋กœ ์‹ ์ƒ์ธ meilisearch์˜€๋‹ค. ๊ทธ๊ฑด ์‹ ๊ธฐํ•˜๊ฒŒ ์ž˜ ๋˜๋”๋ผ.



์ฐธ์กฐ
https://www.mongodb.com/docs/atlas/atlas-search/text/#text