Hi, We have two major concerns with the full-text search in MySQL. They appear to be simple problems that can be fixed. We are about to use MySQL in a big way, and we would like to license it, however these problems are a major obstacle that must be fixed (or at least understood).
1) Using the wildcard * at the end of the keywords results in unpredictable results. See my examples and then a theory as to why. SELECT title FROM titles WHERE MATCH title AGAINST ("+book* +potty*" IN BOOLEAN MODE) LIMIT 35 I Want My Potty Book & Tape The Rugrats' Potty Book The Potty Book for Girls The Potty Book for Boys My Potty Book for Girls My Potty Book for Boys The Toddler's Potty Book Koko Bear's New Potty Package:A Book a Bear and a B... The Potty Time Book Fuzzy Bear's Potty Book SELECT title FROM titles WHERE MATCH title AGAINST ("+book* +pott*" IN BOOLEAN MODE) LIMIT 35 0 matches (This query should have the same results as above) This query should have these matches AND the ones below SELECT title FROM titles WHERE MATCH title AGAINST ("+book* +pot*" IN BOOLEAN MODE) LIMIT 35 The Little Book of Pot Pot Puzzle Fun Book Book of One-Pot Cooking SELECT title FROM titles WHERE MATCH title AGAINST ("+nurse* +handbook" IN BOOLEAN MODE) Student Nurse Handbook Lpn/Lvn Student Nurse Handbook Bolden and Tackle's Practice Nurse Handbook Handbook to Accompany Nurse Anesthesia Nurse-Midwifery Handbook Pro-Nurse Handbook The Pro-Nurse Handbook Nurse Consultant's Handbook Nurse Practitioner's Drug Handbook Nurse Practioner's Drug Handbook SELECT title FROM titles WHERE MATCH title AGAINST ("+nurse* +hand*" IN BOOLEAN MODE) 0 matches (should at least have the ones above) SELECT title FROM titles WHERE MATCH title AGAINST ("+gardens* +pott*" IN BOOLEAN MODE) Potted Gardens SELECT title FROM titles WHERE MATCH title AGAINST ("+garden* +pott*" IN BOOLEAN MODE) The Potted Garden The Potted Garden In this last example, the list should have included the "Potted Gardens" as well. After some experimentation, it appears that the first keyword that is found then becomes the keyword without the *. 2) Why would these sample words have no match? Cannot match against "when", "most", "like", "goes" Why are these words not in the index? The file contains 1 million title records and all of these words are in the file many times. Michael --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php