Boolean and unexpected results
Hi All,
After years of happy use MySQL baffled me today. I hope someone can explain this to me:
I have a table called "customers". It contains fields firstname, surname, middlename and nickname; all of which are VARCHAR (50). The storage engine is MyISAM.
We have a customer called Jay Hanks and another Patricia Hanks (with a middle name of Jane).
If I run this query:
SELECT * FROM customer WHERE MATCH (surname, firstname, middlename, nickname) AGAINST ('+j* +hanks*'IN BOOLEAN MODE) ORDER BY MATCH (surname, firstname, middlename, nickname) AGAINST ('+j* +hanks*' IN BOOLEAN MODE) DESC
both are returned, but if I run this query:
SELECT * FROM customer WHERE MATCH (surname, firstname, middlename, nickname) AGAINST ('+ja* +hanks*'IN BOOLEAN MODE) ORDER BY MATCH (surname, firstname, middlename, nickname) AGAINST ('+ja* +hanks*' IN BOOLEAN MODE) DESC
help! I don't get how '+j* +hanks*' will return Jay Hanks, but '+ja* +hanks*' won't.
Someone school me - please :-)
Tom