我正在使用 Innodb 的 FTS 功能来搜索我的数据库并返回按相关性排序的结果。使用布尔模式时,必须将搜索字符串转换为单个术语必须由某些运算符(如+
、~
、-
、 )分隔的形式*
。
如果我有一个包含多个单词的搜索字符串,我如何(可能使用 PHP)转换搜索字符串,以便可以将其与MATCH()... .AGAINST()
子句一起使用?
搜索词:
stack over flow
SQL查询:
SELECT * FROM mytable WHERE
MATCH ( name, description)
AGAINST ('+*stack* +*over* +*flow*' IN BOOLEAN MODE);"
匹配结果
stack over flow
haystack hover flowers