My apologies if this is a known bug, I could not find a list of known
bugs. The detailed description is below, but basically, 

works:  match() against () AND match() against()
nope:   match() against () OR match() against()
works:  match() against ()>0 AND match() against()
nope:   match() against ()>0 AND match() against()>0

where "works" means it uses the fulltext index, "nope" means it doesn't.
I'm using mysql v3.23.49 on Linux/x86.

Was this fixed already?
Thanks,
Matt

(and now the detailed description:)


I have a table 'entries', with columns 'author' and 'title', and a
fulltext index on each (individually).

If I issue the queries:

SELECT * from entries where match(author) against ('somebody') and
match(title) against ('something')
SELECT * from entries where match(author) against ('somebody') and
match(author) against ('somebodyelse')

Then it uses the index as expected. But if I issue

SELECT * from entries where match(author) against ('somebody') or
match(title) against ('something')
SELECT * from entries where match(author) against ('somebody') or
match(author) against ('somebodyelse')

(or instead of and)
Then it doesn't. EXPLAIN says:
+------------+------+---------------+------+---------+------+--------+--
----------+
| table      | type | possible_keys | key  | key_len | ref  | rows   |
Extra      |
+------------+------+---------------+------+---------+------+--------+--
----------+
| entries    | ALL  | NULL          | NULL |    NULL | NULL | 483226 |
where used |
+------------+------+---------------+------+---------+------+--------+--
----------+
1 row in set (0.00 sec)
for the latter of the two.

Thinking it might be a problem with not saying ">0" (and here's where it
gets odd), I found that

SELECT * from entries where match(author) against ('somebody')>0 and
match(author) against('somebody2');
does use the index, while
SELECT * from entries where match(author) against ('somebody')>0 and
match(author) against('somebody2')>0;
does not!







---------------------------------------------------------------------
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