php - uso - No se puede encontrar el índice FULLTEXT que coincida con la lista de columnas(se establecen los índices)




uso de indices en base de datos (2)

Estoy trabajando con texto completo, ejecuté un comando para agregar el índice de texto completo a múltiples comentarios y no devolví ningún error, luego lo hice:

SELECT * FROM products WHERE MATCH(`brand`) AGAINST('Skoda');

Que está en la columna de la marca, pero obtengo lo siguiente:

No se puede encontrar el índice FULLTEXT que coincida con la lista de columnas

Eventho, cuando mi mesa se ve así:

FULLTEXT KEY `name` (`name`,`breadcrumb`,`description`,`brand`,`price`,`year`,`km`,`usage`,`type`)

¿Es porque debería usar el name lugar? hacer la búsqueda? O lo que puede estar mal.


Cuando todo estaba bien y aún recibí este error, descubrí que las KEYS estaban desactivadas. Un error simple que a veces se pasa por alto:

Asegúrese de haber habilitado las claves en esa tabla.

No funcionó para mí cuando desactivé las llaves. Pero cuando habilité las teclas ALTER TABLE table name ENABLE KEYS; funcionó bien


Si no desea tener las columnas en el mismo orden que en la cláusula de coincidencia (o el mismo número), siempre puede usar 'OR' que es:

ALTER TABLE products ADD FULLTEXT(brand);
ALTER TABLE products ADD FULLTEXT(product_name);

 SELECT * FROM products WHERE MATCH(brand) AGAINST('+Skoda*' IN BOOLEAN MODE) OR MATCH(product_name) AGAINST('+productName*' IN BOOLEAN MODE)






full-text-search