Al momento ho una ricerca che assomiglia a questo:Come posso migliorare il mio LIKE con la ricerca JOIN in mysql?
SELECT s.ID
FROM Shoe s
INNER JOIN Account a
ON s.UserID = a.ID
WHERE s.Publish='1' AND
(s.Brand LIKE '%$Search%'
OR s.Name LIKE '%$Search%'
OR s.PrimaryColor LIKE '%$Search%'
OR a.User LIKE '%$Search%')
ORDER BY s.ID DESC
LIMIT $offset, $rowsPerPage"
Questo funziona bene quando faccio una ricerca come "Blue" o "Nike", ma se faccio una ricerca come "Blue Nikes" Nothing ritorna. Dovrei usare FULLTEXT
? Come posso migliorare questo? Voglio essere in grado di cercare tutte le colonne che possono riguardare la variabile di ricerca.
Sì, dovresti utilizzare le funzionalità di ricerca full text di MySQL o un indice di ricerca esterno. –
L'utilizzo di caratteri jolly sulla sinistra di LIKE impedirà a MySQL di utilizzare l'indice. A seconda delle tue esigenze, potresti anche guardare qualcosa come Solr. –
@SeanBright Ho provato a utilizzare Match Against con Fulltext e ho ottenuto zero risultati. Continuo a cercare e ho trovato questo: http://stackoverflow.com/questions/5925369/mysql-join-and-match-against-search-fail sembra che non funzioni a causa delle parole "stop". Non sono troppo avanti su mysql quindi perdonami se sono perso. – SReca