Похоже, вы хотите иметь только 1 индекс FULLTEXT, содержащий все эти столбцы. Это правильно? В этой таблице также может быть несколько индексов FULLTEXT, один из которых содержит все столбцы, а другие содержат подмножество. Все зависит от вашего использования.
Просто запомните это предупреждение из руководства и убедитесь, что ваши списки столбцов полнотекстового индекса точно соответствуют столбцам, к которым вы обращаетесь:
- Список столбцов MATCH () должен точно соответствовать списку столбцов в некотором определении индекса FULLTEXT для таблицы, если только этот MATCH () не находится в режиме BOOLEAN. Поиск в логическом режиме может выполняться по неиндексированным столбцам, хотя они могут быть медленными.
Ответ на оба вопроса заключается в том, что вам нужно удалить существующий индекс и воссоздать его с обновленным списком столбцов:
ALTER TABLE cart_product
DROP INDEX `product_name`,
DROP INDEX `product_brand`,
DROP INDEX `primary_stone_sub`,
ADD FULLTEXT INDEX `cart_product_fti` (
`product_name`,
`product_description`,
`product_brand`,
`metal_type`,
`primary_stone`,
`product_type`,
`product_type_sub`,
`product_series`,
`primary_stone_sub`
);