我使用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