首页 文章

mySQL全文搜索问题

提问于
浏览
1

我需要在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)

我做错了什么?

1 回答

  • 1

    MATCH 中放置多个列将使用 AND ,因此如果您想要 OR (根据您的评论),您可以尝试以下操作:

    SELECT *
    FROM client
    WHERE MATCH (company) AGAINST (:keyword) OR MATCH (country) AGAINST (:keyword)
    

相关问题