"keep" is a full-text stopword, by default, which means it isn't indexed.
You'll need a custom stopword list if you want "keep" to be indexed. See
the manual for details
<http://dev.mysql.com/doc/mysql/en/Fulltext_Fine-tuning.html>.
The default list of stopwords is in myisam/ft_static.c in a source distribution.
Michael
Alisa Joy Cognard wrote:
I have hit a snag in setting up a Boolean search; my query is returning 0
results when there are definitely five matches in my table.
My query is set up as follows:
SELECT * FROM resources WHERE MATCH (organization_name, description) AGAINST
('keep' IN BOOLEAN MODE);
'Keep' is a word that shows up 3 times in the organization_name field and 2
times in the description field in my table. There are 122 rows in the table,
so this 0 result is clearly not because of the 50% threshold (which I think
doesn't apply to Boolean searches anyway?)
Other background information: I have set organization_name and description
as the fulltext index, organization_name is a VAR CHAR field of 100,
description is a TEXT field, all of the organization_name entries are
minimum of 3 words, and description entries are a minimum of about 100
words.
If I make it a basic search like this:
SELECT * FROM resources WHERE organization_name LIKE "%keep%" OR description
LIKE "%keep%";
Then I get the correct results back. If I set it as a fulltext search (not
boolean) I get "0" results back. If I add an * into my Boolean search
(AGAINST ('keep*' IN BOOLEAN MODE);) I get 1 result (and not the 5 I should
be getting).
Is my first query written wrong? What am I missing here?
Thanks in advance for your help.
Alisa
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]