【发布时间】:2017-09-18 22:53:01
【问题描述】:
我刚刚发现了 MySQL match against 的巨大好处,但偶然发现了麻烦。
如果连接的 table2 没有成对的行。 MySQL match against 为具有 NULL 作为值的配对/连接列返回负值。从匹配组中删除该列会返回一个正相关值。为什么一个 NULL 列会导致整个匹配返回 -2?
select *, match(t1.column1, t1.column2, t1.column3, t1.column4, t2.column5) against ('search string' in boolean mode) as relevance
from table1 t1
left join table2 t2 on (t2.id = t2.column_id)
/*having relevance > 0*/
order by relevance desc;
【问题讨论】: