[Db] full text search e soglia del 50%
Marcello Vezzelli
marcello a vezz.it
Mar 16 Ott 2007 11:27:00 CEST
Ciao a tutti,
sto lavorando su un database con le tabelle in formato myISAM e con
alcuni indici full text.
Come specificato qui
http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html
The 50% threshold has a significant implication when you first try
full-text searching to see how it works: If you create a table and
insert only one or two rows of text into it, every word in the text
occurs in at least 50% of the rows. As a result, no search returns any
results. Be sure to insert at least three rows, and preferably many
more. Users who need to bypass the 50% limitation can use the boolean
search mode; see Section 11.8.1, “Boolean Full-Text Searches”
<fulltext-boolean.html>.
In soldoni, se cerco una parola che è presente in più del 50% dei record
non mi viene ritornato nessun risultato.
Mi va anche bene, però vorrei sapere QUANDO entra in funzione questa
cosa della soglia per poter dire all'utente che la sua ricerca è troppo
generica.
L'esempio che fanno è questo, ma non c'è differenza tra queste due query...
mysql> *|SELECT * FROM articles|* -> *|WHERE MATCH (title,body)|* ->
*|AGAINST ('MySQL' IN NATURAL LANGUAGE MODE);|* Empty set (0.00 sec)
mysql> *|SELECT * FROM articles|* -> *|WHERE MATCH (title,body)|* ->
*|AGAINST ('rfiewrnf' IN NATURAL LANGUAGE MODE);|* Empty set (0.00 sec)
La prima non ritorna risultati per via della soglia, la seconda invece
non ritorna risultati perché non ce ne sono.
Qualcuno sa come ricavare questa informazione?
Saluti
Marcello
Maggiori informazioni sulla lista
Db