我理解LIKE結果和通配符等。我需要知道的是獲取頂部最相對的搜索結果的好方法。MySQL,PHP相對搜索結果/優化
例如: 我搜索「Front Brake CarModel」或類似的東西。
目前我用空格分解字符串並創建一個OR/WHERE狀態,因此查詢看起來像這樣。
SELECT * FROM table WHERE article_text LIKE '%Front%' OR article_text LIKE '%Brake%' OR article_text LIKE '%CarModel%'
由於我的新手搜索技巧,這不是很好,因爲它會得到搜索詞中每個單詞的結果。我想要發生的是獲得結果,並與頂部找到的詞最多的文章進行排序。如果這是有道理的。
建議?
編輯:表是InnoDB類型,由於外鍵約束,不能更改類型。因此,消除了對我使用全文索引:(
的可能重複[是全文搜索答案?(HTTP的能力:/ /stackoverflow.com/questions/614358/is-full-text-search-the-answer) – 2012-03-20 17:46:37
@MarcusAdams不幸的是,我的表是InnoDB,不能改變類型,所以我不能使用FULLTEXT索引 – Tyler 2012-03-20 18:04:49
那麼,爲什麼不創建一個只有搜索文本的新表,以及一個作爲MyIASM的「真實」表中的關鍵字? – 2012-03-20 18:07:46