2012-12-13 9 views
5

Il mio cliente insiste su una ricerca su più colonne da qualsiasi parte di una stringa. Così sto cercando di fare questo:Caratteri jolly prefissi e suffissi nella ricerca full text di mysql

... MATCH(smth, smth2) AGAINST('*string*' IN BOOLEAN MODE) 

indicizzazione o una ricerca veloce non è un requisito quindi, anche se PARTITA .. CONTRO erano di non utilizzare un indice - che sarebbe stato OK. Ma il problema è che il carattere jolly prefissato non funziona - solo quella dopo la parola fa:

*string* - will match the same as string* and *string does not match anything 

C'è un modo per risolvere questo problema con MySQL? Non ho intenzione di installare alcun servizio di indicizzazione o qualcosa del genere che le query lente debbano fare.

Potrei provare a utilizzare LIKE su più colonne in qualche modo, ma immagino che questo sarebbe ancora più lento.

+0

Penso che si possa utilizzare REGEXP per questo problema. .! – Chella

+0

Potrei usare regexp o un semplice LIKE, ma come posso applicarlo su più colonne con una semplice sintassi come MATCH ... CONTRO? – Marius

risposta

Problemi correlati