Salve a tutti, sto realizzando un motore di ricerca per un mio sito.
Vorrei sfruttrare gli indici fulltext.
Il problema è che mi viene restituito sempre il seguente errore:
Error Number: 1191
Impossibile trovare un indice FULLTEXT che corrisponda all'elenco delle colonne
La cosa assurda è che gli indici fulltext ci sono.
Codice PHP:
CREATE TABLE `pages` (
`id` int(10) unsigned NOT NULL auto_increment,
`path` varchar(100) NOT NULL,
`ordine` int(11) NOT NULL,
`padre` int(11) NOT NULL,
`title` varchar(150) NOT NULL,
`en_title` varchar(150) NOT NULL,
`menu_title` varchar(100) NOT NULL,
`en_menu_title` varchar(100) NOT NULL,
`body` text NOT NULL,
`en_body` text NOT NULL,
`active` tinyint(1) NOT NULL default '1',
`menu` varchar(10) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `path` (`path`),
KEY `padre` (`padre`),
FULLTEXT KEY `title` (`title`,`en_title`,`body`,`en_body`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=20 ;
Come query di ricerca ho usato:
Codice PHP:
SELECT `id`, `path`, `title`, `body`, (MATCH(body) AGAINST('prova' IN BOOLEAN MODE) + MATCH(title) AGAINST('prova' IN BOOLEAN MODE)) AS rank FROM (`pages`) WHERE (MATCH(body) AGAINST('prova' IN BOOLEAN MODE) + MATCH(title) AGAINST('prova')) > '0' ORDER BY `rank` DESC LIMIT 10
ho provato anche con una query più semplice
Codice PHP:
SELECT * FROM pages WHERE MATCH(body) AGAINST('territorio')
ma ho ottenuto sempre il solito errore.
Ci tengo a precisare che la tabella non è vuota e ha 16 record.
Spero qualcun riesca a illuminarmi 
PS