【问题标题】:Why does MySQL match against columns return a negative result?为什么 MySQL 对列的匹配会返回否定结果?
【发布时间】: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;

【问题讨论】:

    标签: php mysql select


    【解决方案1】:

    我猜。

    如果搜索文本包含运算符“-”或“+”怎么办?

    只有当您的搜索文本中有运算符“-”时,相关性才可能为负

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-01
      • 2015-03-09
      • 2018-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多