MySQL:如何进行多表全文搜索

时间:2010-03-04 10:14:50

标签: mysql full-text-search

我想在我的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');

2 个答案:

答案 0 :(得分:2)

我认为,由于全文搜索使用了一些特定的索引,您应该将表格分开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'
); 

答案 1 :(得分:0)

AGAINST('founder initiator employee');

或者你可以使用boolean mode更好的东西