๐Ÿ“˜ INTRO

๊ฒŒ์‹œ๊ธ€์ด๋‚˜ ์ปจํ…์ธ  ๋“ฑ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•  ๋•Œ LIKE ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒจํ„ด ์ผ์น˜ ๊ฒ€์ƒ‰์„ ํ•˜๊ณค ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๊ฒฝ์šฐ ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•œ ๊ฒ€์ƒ‰์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

MySQL์—์„œ Full-Test Search๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ์˜ ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ธ๋ฑ์Šค๋ฅผ ์ด์šฉํ•œ ๊ฒ€์ƒ‰์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. MySQL์€ FULLTEXT ์ธ๋ฑ์Šค๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ์ด๋ฅผ ์ด์šฉํ•˜๋ฉด ๋Œ€๋Ÿ‰์˜ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์œผ๋กœ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.


๐Ÿธ Full-Text Search Function

MATCH (***col1***,***col2***,...) AGAINST (***expr***ย [***search_modifier***])

Full-Text ๊ฒ€์ƒ‰์€ MATCH AGAINST ๊ตฌ๋ฌธ์„ ํ†ตํ•ด ๊ฐ€๋Šฅํ•˜๋‹ค.

search_modifier:
  {
       IN NATURAL LANGUAGE MODE
     | IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION
     | IN BOOLEAN MODE
     | WITH QUERY EXPANSION
  }

MATCH๋Š” ๊ฒ€์ƒ‰ํ•  ์—ด ์ง€์ •, (์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„ ๊ฐ€๋Šฅ)

AGAINST ๋Š” ๊ฒ€์ƒ‰ํ•  ๋ฌธ์ž์—ด๊ณผ ์ˆ˜ํ–‰ํ•  ๊ฒ€์ƒ‰ ์œ ํ˜•์„ ๋‚˜ํƒ€๋‚ด๋Š” search_modifier๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

SELECT * FROM article WHERE MATCH(title) AGAINST(โ€™developโ€™ in boolean mode);

๐Ÿ”ปFULLTEXT INDEX