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

Reply via email to