我有以下查询:
SELECT *
FROM pin
WHERE MATCH (title) AGAINST ('+red +yellow +blue' IN BOOLEAN MODE)
OR MATCH (front) AGAINST ('+red +yellow +blue' IN BOOLEAN MODE)
如果我是正确的,这将给我返回标题或前面包含所有单词的结果。
有没有一种方法可以设计查询,以便我也能获得标题中可以包含“红色”、描述中可以包含“黄色”和“蓝色”或任何其他组合的结果?我想要任何列的任意组合中的所有三个单词的结果(但它必须包含所有三个单词,不少于)。
最佳答案
在两列上构建复合全文索引:
ALTER TABLE pin ADD FULLTEXT(title, front);
SELECT *
FROM pin
WHERE MATCH(title, front) AGAINST ('+red +yellow +blue' IN BOOLEAN MODE);
关于mysql - 如何使用 FULLINDEX 对 MySQL 中的两个或更多列进行 MATCH AGAINST?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20384955/