mySQL 全文搜索问题
mySQL fulltext search problems
我需要在 mySQL InnoDB v5.6.20 中实现全文搜索。
在通过
创建 table 之后,我在两个 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)
我做错了什么?
将多个列放在 MATCH
中将使用 AND
,因此如果您想要 OR
(根据您的评论),您可以尝试以下操作:
SELECT *
FROM client
WHERE MATCH (company) AGAINST (:keyword) OR MATCH (country) AGAINST (:keyword)
我需要在 mySQL InnoDB v5.6.20 中实现全文搜索。
在通过
创建 table 之后,我在两个 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)
我做错了什么?
将多个列放在 MATCH
中将使用 AND
,因此如果您想要 OR
(根据您的评论),您可以尝试以下操作:
SELECT *
FROM client
WHERE MATCH (company) AGAINST (:keyword) OR MATCH (country) AGAINST (:keyword)