#12 Full-Text Indexes
#12.1 Natural Language Search
CREATE fulltext INDEX idx_overview ON movies (overview);
-- Natural Language Full-Text Search
SELECT title, overview
FROM movies
WHERE MATCH(overview) AGAINST ('the food');
SELECT title, overview, MATCH(overview) AGAINST ('the food and the drinks') as score
FROM movies
WHERE MATCH(overview) AGAINST ('the food and the drinks');
#12.2 Boolean Mode Search
-- Boolean Mode Search +aaa bbb -ccc +ํ์ ์์ผ๋ฉด์ข๊ณ -์ ์ธ
SELECT title, overview, MATCH(overview) AGAINST ('+revenge food -violence' IN BOOLEAN MODE) as score
FROM movies
WHERE MATCH(overview) AGAINST ('+revenge food -vilence' IN BOOLEAN MODE);
-- >๊ฐ์ค์น ๋ <๊ฐ์ค์น ๋ฎ & "๋์ด์ฐ๊ธฐ ์์ผ๋ฉด"
SELECT title, overview, MATCH(overview) AGAINST ('+travel >asia <europe' IN BOOLEAN MODE) as score
FROM movies
WHERE MATCH(overview) AGAINST ('+travel >asia <europe' IN BOOLEAN MODE);
-- ()
SELECT title, overview, MATCH(overview) AGAINST ('+(action thriller) -horror +love' IN BOOLEAN MODE) as score
FROM movies
WHERE MATCH(overview) AGAINST ('+(action thriller) -horror +love' IN BOOLEAN MODE);
-- *
SELECT title, overview, MATCH(overview) AGAINST ('psycho*' IN BOOLEAN MODE) as score
FROM movies
WHERE MATCH(overview) AGAINST ('psycho*' IN BOOLEAN MODE);
#12.3 Query Expansion
-- Query Expansion Search
-- 2๋ฒ ๊ฒ์_ ํค์๋ ํฌํจ๋ ๋ฐ์ดํฐ ๊ฒ์ > ๊ด๋ จ์ฑ ๋์ ๋ฐ์ดํฐ ์ถ์ถ
-- ๊ฒ์์ด๊ฐ ์งง์ ๋ ์ ์ฉ, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์์์ ์ธ ์ง์ ์ ๋ฌํ๋ ๊ฒ๊ณผ ๊ฐ์
SELECT
title,
overview,
MATCH(overview) AGAINST ('KIMCHI' WITH QUERY EXPANSION) as score
FROM movies
WHERE MATCH(overview) AGAINST ('KIMCHI' WITH QUERY EXPANSION);
Last updated
Was this helpful?