MySQL:如何进行多表全文搜索教程
我想在我的PHP站点中集成MySQL全文搜索功能.
我现在有以下问题.
SELECT *
FROM testtable t1, testtable2 t2
WHERE MATCH (
t1.firstName, t1.lastName, t1.details, t2.firstName, t2.lastName, t2.details
)
AGAINST (
'founder'
);
我有错误代码:
#1210 - Incorrect arguments to MATCH
你知道为什么以及如何解决它吗?
非常感谢!
编辑:
我采用RageZ的方法:
SELECT *
FROM testtable t1, testtable2 t2
WHERE MATCH (
t1.firstName, t1.lastName, t1.details
)
AGAINST (
'founder'
) OR MATCH( t2.firstName, t2.lastName, t2.details) AGAINST (
'founder'
);
我有一个新问题.如果我想找到以下内容:
AGAINST('founder', 'initiator', 'employee');
如何编写查询?
好吧,我知道反对只能有一个标准.
AGAINST('founder');
解决方法:
我认为,因为全文搜索使用一些特定的索引,你应该通过OR分隔表
SELECT *
FROM testtable t1, testtable2 t2
WHERE MATCH (
t1.firstName, t1.lastName, t1.details
)
AGAINST (
'founder'
) OR MATCH( t2.firstName, t2.lastName, t2.details) AGAINST (
'founder'
);