FULLTEXT KEY `product_name` (`product_name`,`product_description`),
FULLTEXT KEY `product_brand` (`product_brand`,`metal_type`,`primary_stone`,`product_type`,`product_type_sub`,`product_series`),
FULLTEXT KEY `primary_stone_sub` (`primary_stone_sub`)
这是因为我在事后这样添加了它们:
ALTER TABLE cart_product ADD FULLTEXT(columnA, columnB);
Q1
如何将这3个合并为1个FULLTEXT索引?
Q2
此外,这不会再次发生,我如何将FULLTEXT列添加到现有的FULLTEXT索引中?
感谢!!!
答案 0 :(得分:1)
您似乎只想拥有1个FULLTEXT索引,其中包含所有这些列。是对的吗?您还可以在此表上拥有多个FULLTEXT索引,一个包含所有列,另一个包含子集。这一切都取决于你的用法。
请记住manual中的这一警告,并确保您的全文索引列列表与您正在查询的列完全匹配:
这两个问题的答案是您需要删除现有索引并使用更新的列列表重新创建它:
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`
);