match against("best") bug?

match against("best") bug?

am 23.10.2002 23:27:31 von Michael Nolan

Hi-

I don't know if this is a bug (I'm pretty new at mysql),
but I figured I would fill out the report anyway. I don't know how to
answer some of the questions, but did my best.

I have looked in the manual, searched the list archives,
and am using 4.0.4-beta-max-nt on Win2000.

Description:
Whenever I perform a match against the word "best" [and,
interestingly, only the word best by itself, because (+best +friends)
and (friends best) both DO work] using
match against, I get an empty set. If I use like '%best%'the correct
records are found.

How-To-Repeat:
CREATE TABLE booleanbug (
id int(11) NOT NULL auto_increment,
name char(40) NOT NULL,
PRIMARY KEY (id)
);

#
# Dumping data for table 'booleanbug'
#

INSERT INTO booleanbug VALUES ( '1', 'Best in Show');
INSERT INTO booleanbug VALUES ( '2', 'Star Wars');
INSERT INTO booleanbug VALUES ( '3', 'Hannah and Her Sisters');
INSERT INTO booleanbug VALUES ( '4', 'Best Friends');
INSERT INTO booleanbug VALUES ( '5', 'Office Space');
INSERT INTO booleanbug VALUES ( '6', 'The Professional');
INSERT INTO booleanbug VALUES ( '7', 'Terms of Endearment');
INSERT INTO booleanbug VALUES ( '8', 'Father Knows Best');
INSERT INTO booleanbug VALUES ( '9', 'The Flamingo Kid');
INSERT INTO booleanbug VALUES ( '10', 'Repo Man');

CREATE FULLTEXT INDEX name on booleanbug(name);

select id, name from booleanbug where match(name) against ('best');

select id, name from booleanbug where match(name) against ('+best IN
BOOLEAN MODE');

#[BOTH OF THE ABOVE SELECTS RESULT IN EMPTY SETS]

select id, name from booleanbug where match(name) against ('+best
+friends IN BOOLEAN MODE');

select id, name from booleanbug where match(name) against ('wars');

select id, name from booleanbug where name like '%best%';

#[ALL 3 OF THE ABOVE SELECTS WORK]
# NOTE - I called the test case table booleanbug,
# but have since realized it's not just a boolean
# problem. For some reason " match against ('best') "
# doesn't work for me, boolean or not.

Fix: no idea
Synopsis: match against ('best') doesn't work
Submitter-Id: ?
Originator: Michael Nolan
Organization: none
MySQL support: none
Severity: ?
Priority: ?
Category: mysqld (I think)
Class: sw-bug (?)
Release:

mysqladmin Ver 8.37 Distrib 4.0.4-beta, for Win95/Win98 on i32
Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This software comes with ABSOLUTELY NO WARRANTY. This is free
software,
and you are welcome to modify and redistribute it under the GPL
license

Server version 4.0.4-beta-max-nt
Protocol version 10
Connection localhost via TCP/IP
TCP port 3306
Uptime: 4 hours 37 min 16 sec

Threads: 2 Questions: 1927 Slow queries: 0 Opens: 32 Flush
tables:
1 Open t
ables: 0 Queries per second avg: 0.116

Exectutable: mysqld-nt (?)
Environment: Desktop with 256MB RAM
System: Win2000 5.00.2195 Service Pack 2
Compiler: (?)
Architecture: (?)

Please let me know if I should not have posted this to the bugs list.

Thanks,

Michael

Michael Nolan
mtnola@mail.com

--
__________________________________________________________
Sign-up for your own FREE Personalized E-mail at Mail.com
http://www.mail.com/?sr=signup


------------------------------------------------------------ ---------
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 bugs-thread12843@lists.mysql.com
To unsubscribe, e-mail

Re: match against("best") bug?

am 24.10.2002 03:09:13 von Sergei Golubchik

Hi!

On Oct 23, Michael Nolan wrote:
> Hi-
>
> I don't know if this is a bug (I'm pretty new at mysql),
> but I figured I would fill out the report anyway. I don't know how to
> answer some of the questions, but did my best.
>
> I have looked in the manual, searched the list archives,
> and am using 4.0.4-beta-max-nt on Win2000.
>
> Description:
> Whenever I perform a match against the word "best" [and,
> interestingly, only the word best by itself, because (+best +friends)
> and (friends best) both DO work] using
> match against, I get an empty set. If I use like '%best%'the correct
> records are found.

It's because the word "best" is a stopword, that is it's not indexed.

Regards,
Sergei

--
MySQL Development Team
__ ___ ___ ____ __
/ |/ /_ __/ __/ __ \/ / Sergei Golubchik
/ /|_/ / // /\ \/ /_/ / /__ MySQL AB, http://www.mysql.com/
/_/ /_/\_, /___/\___\_\___/ Osnabrueck, Germany
<___/

------------------------------------------------------------ ---------
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 bugs-thread12844@lists.mysql.com
To unsubscribe, e-mail