Come trovare parole similari nel database?

MarcoGrazia

Utente Attivo
15 Dic 2009
852
20
28
63
Udine
www.stilisticamente.com
Ciao,
questa mattina sto perfezionando il sistema di ricerca di un sito, questo si appoggia ad un database, dove, alcune immagini sono memorizzate con un campo titolo ed un campo didascalia.
Ho bisogno di realizzare un sistema di ricerca che tenga conto non solo delle mezze parole o parole nelle frasi, tipo che so: "gatto rosso" dove le parole ROSSO e GATTO le posso cercare usando le normali funzioni di LIKE.
Ho bisogno di trovare la parola gatto anche se qualcuno scrive GATTACCIO.
GATTO e GATTACCIO sono parole simili ma non uguali.
Ho provato tanto per provare con la funzione soundex() del PHP che per le due parole ( GATTO e GATTACCIO rispettivamente ) mi ha restituito G300 e G320, sono simili.

Ora, non ho controllato il manuale del MySQL quindi non so se esiste una funzione simile, se no dovrei usare in qualche modo il PHP con funzioni come la soundex(), ma come l'implemento in un sistema di ricerca?
Dovrei creare una tabella nel database con tutti i livelli di soundex per tutte le parole contenute in TITOLO e DIDASCALIA per poi confrontarle con quella richiesta dall'utente, possibile ma improponibile, dopo un po' il database sarebbe pieno di riferimenti incrociati e la ricerca impossibile.
Voi come mi muovereste?
 

Discussioni simili