Hi!

On Dec 12, Colin Faber wrote:
> Hi, 
> 
> I've got a feature request which I don't think should be all that hard
> to implement (if not already)
> 
> With in the mysql fulltext search system if your search words exist in
> more than 50% of the records; it is ignored.
> 
> How about having mysql return either an error or set something that can
> be retrieved which will notify if this event happens.
> 
> A feature like this would allow people that use the FTS as the bases of
> a search engine to return nifty little `google like' results.  "The
> following words were not included in the search because of their
> commonality with in our database .. 'words'"
> 
> etc.
> 

Colin, unfortunately this feature would be difficult to add.
The word that exists more than in 50% rows is not, in fact, ignored -
it does not recieve any special treatment at all.

What happens, is that word weight uses

    log((total_number_of_rows-rows_matched)/rows_matched)

You see, that if rows_matched > total_number_of_rows/2, this gives
negative number and, as weight cannot be negative, is replaced by zero.

This formula was chosen from a number of different weighting schemes
in a series of tests aimed at best search effectivity.

By modifying ftdefs.h it can be replaced by a formula
that always produces positive weights, thus removing 50% limit.

Still, all this can be changed in MySQL 4.1 or 4.2

Regards,
Sergei

-- 
MySQL Development Team
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /   Sergei Golubchik <[EMAIL PROTECTED]>
 / /|_/ / // /\ \/ /_/ / /__  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 <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to