#12 Full-Text Indexes

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');

-- 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);

https://dev.mysql.com/doc/refman/8.4/en/fulltext-boolean.html

#12.3 Query Expansion

Last updated

Was this helpful?