All'inizio di questa breve serie di articoli sulle ricerche FULL TEXT abbiamo detto che l'operatore LIKE si limita a parsare determinati contenuti alla ricerca delle chiave che le viene passata come parametro; quindi se trova nei nostri record la stringa cercata semplicemente li restituisce in output.
Questo vuol dire che con LIKE non avremo la possibilità di ottenere ricerche basate su confronti se non attraverso un largo utilizzo di operatori come WHERE, AND e OR.
Per chiarire il concetto appena espresso mostreremo al lettore due esempi, uno basato su LIKE e l'altro sull'indicizzazione FULL TEXT; entrambi mostreranno istruzioni create per lo stesso scopo finale, la ricerca all'interno di un contenuto di due parole.
Ecco l'esempio basato su LIKE:
SELECT titolo, descrizione FROM news WHERE (titolo like '%red%' or titolo like '%hat%' ) or (descrizione like '%red%' or descrizione like '%hat%')Di seguito, presentiamo invece l'esempio basato sulla ricerca FULL TEXT:
SELECT titolo, descrizione FROM news WHERE MATCH (titolo, descrizione) AGAINST ('red hat')Come si potrà facilmente notare, a livello sintattico la seconda istruzione è sicuramente più semplice da digitare, inoltre, quest'ultima può ulteriormente essere raffinata sulla base dei livelli di corrispondenza, cosa che non è ivece prevista per LIKE.