Sto riempiendo quindi un database MySQL fomato da una sola tabella e sei colonne:
- Nome
- Titolo
- Autore
- Data
- Parole chiave
Sto creando un mini-motore di ricerca in base a queste sei categorie utilizzando dei form HTML e del PHP. Per i primi 4 campi non c'è problema, utilizzo formule del tipo:
SELECT * FROM nome_tabella WHERE `autore` LIKE ('%dylan%')
Così facendo trovo sia le opere di dylan666 che di Redylantes dato che ho usato la doppia percentuale che sarebbe la wildcard
Per il sesto campo, dove dovrei cercare varie parole o parti di esse in un elenco ho trovato questa pagina del manuale di MySQL:
http://dev.mysql.com/doc/refman/5.0/en/ ... olean.html
Mi pare sia un metodo di ricerca adattissimo a quello che voglio fare io. Noto però in quel caso che se volessi usare le wildcard devo usare l'asterisco e posso utilizzarlo solo dopo la parola da cercare:
SELECT * FROM nome_tabella WHERE MATCH (keywords) AGAINST ('cane*' IN BOOLEAN MODE)
In questo modo trovo opere legate alla parola canestro ma non pescecane.
C'è un modo per risolvere il problema? Che vantaggi ho nell'usare la ricerca boleana dovendo rinunciare alla doppia wildcard rispetto al SELECT classico? Ne ho in termini di velocità ad esempio?