Devo eseguire una ricerca Fulltext per un intero gruppo di valori da una colonna in un'altra tabella. Poiché MATCH() richiede un valore nella parte AGAINST(), un semplice: "SELECT a.id FROM a, b WHERE MATCH (b.content) AGAINST (a.name)" non riesce con "Argomenti errati per AGAINST".MySQL Ricerca fulltext rispetto al valore della colonna?
Ora, so che potrei scrivere uno script per richiedere un elenco di nomi e quindi cercarli, ma preferirei elaborare una query più complessa che possa gestire tutto in una volta. Non ha bisogno di essere veloce, neanche.
Idee?
grazie
Sì, ho visto che, ma http://dev.mysql.com/tech-resources/articles/full-text-revealed.html dice: "" L'argomento per CONTRO() deve essere una stringa costante. "Questo non è nulla di cui preoccuparsi. Non abbiamo ancora aggiornato il manuale per mostrare che l'argomento AGAINST() può essere una variabile o un parametro, se si utilizza MySQL versione 5." Speravo che qualcuno avesse qualche consiglio usando un tipo di approccio sql più complesso (viste, procedure o qualcosa del genere). In realtà, quello che sto facendo è fondamentalmente costruire un indice invertito di termini da una tabella che si verifica nella colonna di testo della tabella b. –
Questo articolo è del maggio 2004, ma * ancora * non hanno aggiornato il manuale ?! È patetico! –
Dice qualcosa sull'importanza del fulltext su mysql, suppongo. Mi sono ritrovato a studiare a Squid ultimamente, ma questo è un aspetto secondario di un progetto e non avevo alcuna intenzione di apportare modifiche sistemiche. –