I notice one of my MySQL full text search result for multiple words doesnt seems correct. After some checking, i realize i don’t know how to do full text search for multiple words! LOL. This is because i use ONLY single words during testing. After go thru the MySQL documentation again, now i get a clear view of how to structure the SQL statement for full text search (multiple words)!
Here are some example for MySQL full text search for multiple words:-
Advertisements
- ‘”MySQL database”‘ – Find rows that contain the exact phrase “MySQL database”. (eg, rows that contain “MySQL database good” but NOT “MySQL excellent database”). Note that the double quote characters that enclose the phrase are operator characters that delimit the phrase.
SELECT * FROM articles WHERE MATCH (body) AGAINST ('"MySQL database"' IN BOOLEAN MODE);
- ‘tech blog’ – Find rows that contain at least contain one of the two words
SELECT * FROM articles WHERE MATCH (body) AGAINST ('tech blog' IN BOOLEAN MODE);
- ‘+mysql -mssql’ – Find rows that contain the word “mysql” but not “mssql”
SELECT * FROM articles WHERE MATCH (body) AGAINST ('+mysql -mssql' IN BOOLEAN MODE);
- ‘data*’ – Find rows that contain words such as “data”, “database” or “databases”.
SELECT * FROM articles WHERE MATCH (body) AGAINST ('data*' IN BOOLEAN MODE);
Hope these examples help you in MySQL full text search for multiple words 🙂
Related posts:
Maximum length for MySQL TEXT field types
How to sync Google Calendar with Thunderbird
How to split compressed file into smaller files in Linux / Mac
How to do string replace (str_replace) in MySQL
Cynogenmod: No Vibration when Receiving SMS
How to re-arrange account order in Thunderbird
Common MySQL database maintenance command
How to upload file in Symfony 1.4
Share this with your friends:-
Hi,
how to search for All keywords, not just Any keyword or exact phrase with MATCH() AGAINST()?
and why is not working without BOOLEAN MODE?
tnx 🙂