Salve raga sto creando un motore di ricerca ed ho la seguente query con ricera fulltext:
Codice PHP:
$query_cerca_annunci = mysql_query("SELECT annunci_attivi.titolo, annunci_attivi.descrizione, annunci_attivi.categoria, annunci_attivi.prezzo, utenti.citta, utenti.regione,
MATCH(utenti.citta, utenti.regione, annunci_attivi.titolo, annunci_attivi.descrizione, annunci_attivi.categoria)
AGAINST('+$citta_annuncio +$regione_annuncio +$categoria_annuncio +$parola_annuncio' IN BOOLEAN MODE)
as score FROM annunci_attivi
INNER JOIN utenti ON annunci_attivi.id_utente = utenti.id
WHERE MATCH(utenti.citta, utenti.regione, annunci_attivi.titolo, annunci_attivi.descrizione, annunci_attivi.categoria) AGAINST('+$citta_annuncio +$regione_annuncio +$categoria_annuncio +$parola_annuncio' IN BOOLEAN MODE) ORDER BY score DESC");
come specificato in AGAINST tutte le variabili devono essere presenti almeno una volta in uno dei campi specificati da MATCH, perchè tutte le variabili sono precedute dal +
Ma nonostante ciò accade che se
+$categoria_annuncio
non è presente in alcun campo la ricerca mi trova dei risultati
Come posso fare? dove sbaglio?