我需要在mySQL InnoDB v5.6.20中实现FULL-TEXT搜索
在通过
创建表之后,我在一个接一个地添加了两个varchar(256)列的全文索引
ALTER TABLE 'client' ADD FULLTEXT('company')
和
ALTER TABLE 'client' ADD FULLTEXT('country')
当我针对关键字使用一列MATCH
时,我会得到预期的结果。
SELECT * FROM client WHERE MATCH (company) AGAINST (:keyword)
当我对关键字使用两列MATCH
时,我会得到no
个结果。
SELECT * FROM client WHERE MATCH (company, country) AGAINST (:keyword)
我做错了什么?
答案 0 :(得分:1)
在MATCH
中添加多个列将使用AND
,因此如果您需要OR
(根据您的评论),您可以尝试以下操作:
SELECT *
FROM client
WHERE MATCH (company) AGAINST (:keyword) OR MATCH (country) AGAINST (:keyword)