我使用Innodb的FTS功能来搜索我的数据库并返回按相关性排序的结果。使用布尔模式时,必须将搜索字符串转换为单个字词必须与某些运算符分开的格式,例如+
,~
,-
,*
。转换在MySQL中使用的多字搜索字符串FULLTEXT布尔模式
如果我有一个搜索字符串与多个词,我怎么能(使用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
爆炸()对空间要求 – 2012-08-15 23:55:25
能布尔模式返回关联得分然后重建?如果不是,自然语言模式是否返回相关性分数,并且词组的搜索字符串与搜索字符串中的顺序不同? – Nyxynyx 2012-08-15 23:56:47
'相关性分数'是的它可以。 – 2012-08-16 00:01:57