這樣的好的sql搜索多年來,當我希望我的用戶在我的數據庫中搜索某些字段時,他可以輸入他想要的任何內容,我使用一種算法來打破單詞並單獨搜索每個單詞... a一塌糊塗。如何使用像
例如,如果在搜索框中輸入「AAA BBB CCC」的用戶類型我不喜歡使用:
SELECT id
FROM table
WHERE description LIKE '%aaa bbb ccc%'
因爲有時用戶類型的東西出來的秩序及以上wouldng找到查詢。我最常做的是打破字符串,所以結果就變成用PHP相連來:
3210不過跟一個朋友,我想知道是否有更快做到這一點使用MY SQL一些本地方式後的今天?
是的,這就是所謂的[全文搜索(https://dev.mysql.com/doc/refman/5.7/en/fulltext-search.html)。 –
@SergioTulentsev「當在WHERE子句中使用MATCH()時(如前面所示的示例),返回的行將自動按照最高相關性排序。」這真是太棒了!!!!!如果您發佈答案,我會接受它!我從未意識到這一點,這非常神奇! – Samul
SELECT * FROM表 WHAT MATCH(description) AGAINST('aaa bbb ccc'IN NATURAL LANGUAGE MODE);試試這個並告訴我結果。 –