I have a table with about 3.5 million records with a fulltext index on text
field of about 90 characters.
This has name and address data I'm trying to match against a dirty input
string. I've recompiled
with the following changed in ft_static.c.

ft_min_word_len=2   /* I want to find words like 'BIO' */

ft_precompiled_stopwords [] = { my own list inserted here based on a perl
program that does word counts and sorts by frequency }; 
 
If I make the stop list big all is fine - but really I'd to be able to tune
the full text queries on the fly so a smaller
stop list is much better.

Now with a small top list I have given myself the ability to do pointless
queries that return almost everything and run for ages.
eg.

select * from table match field against ('a phrase with very common words in
here') limit 40
runs for 800 secs

No problem (I think) I'll just check there are no bad (ie very common) words
in the query then throw them out of the phrase above.

select count(*) from table match field against ('word1')
select count(*) from table match field against ('word2')
select count(*) from table match field against ('word2')
... etc ..

The bad news is even these are slow if the word is common WHY ? 
The full text index should already know the single word count and return in
a flash ?
Is it still doing scoring and sorting in the count query on a single word -
could I turn this off ?

Sergei - any ideas ?

Thanks Boris Cownie
 






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