Ricerche FullText

Sto imparando ad apprezzare le ricerche FullText, quelle con MATCH-AGAINST nella SELECT per essere chiari.

La stesura del motore di ricerca sta andando bene però non mi spiego una cosa.

Faccio una ricerca per una parola e non mi trova dei risultati, ripeto la stessa ricerca IN BOOLEAN MODE e me ne trova 8 dato che la parola è piuttosto ricorrente ed i record della tabella in cui compie la ricerca sono 16 in tutto.

Ma com'è, dico io, che nella prima ricerca non dà nemmeno un risultato?

Grazie  :bye:

inviato 10 anni fa
usecram
X 0 X

Sorry Gianni avevo postato in php...l'abitudine

risposto 10 anni fa
usecram
X 0 X

La ricerca FullText "classica" assegna un valore maggiore alle parole poco frequenti all'interno della tabella ed un valore via via inferiore alle parole più diffuse. Questo perché ritiene poco importanti le parole "comuni". Se una parola è presente nel 50% dei record allora questa parola è ritenuta insignificante e quindi non viene utilizzata nell'indicizzazione.

Per tabelle con milioni di record questo comportamento è ottimale perché evita che una ricerca restituisca milioni di risultati! Con tabelle piccole invece si possono ottenere risultati anomali.

Le ricerche Boolean Full-Text, nonostante impieghino un meccanismo simile per assegnare il punteggio alle parole, non hanno il vincolo del 50% pertanto restituiscono anche più della metà dei record se la ricerca lo richiede.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Grazie come sempre mi sei molto d'aiuto.  :bye:

risposto 10 anni fa
usecram
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda