提高MYSQL 全文搜尋結果相關性
在MYSQL 中,使用MATCH(...) AGAINST(...) 提供全文搜尋與使用LIKE 運算子相比,這是一種更強大的查找相關結果的方法。與僅檢查字元序列的 LIKE 不同,全文搜尋利用基礎索引和語言分析來根據相關性識別來匹配。
使用MATCH(...) AGAINST(...):
將現有查詢替換為全文搜尋查詢,如下所示:
$query = "SELECT * FROM `vocabulary` WHERE MATCH(translation) AGAINST('word')";
匹配分數:
MATCH(... ) AGAINST(...) 表達式傳回表中每行的符合分數。分數越高表示匹配越相關。預設情況下,MYSQL 會依此分數降序對結果進行排序(最相關的排在最前面)。
範例輸出:
使用上面修改後的查詢,您現在應該看到按相關性排序的結果:
1 | word <- exact match 2 | crossword <- partial matches sorted by matching score 3 | words 4 | wordsmith
透過使用MATCH(...) AGAINST(...) 進行全文搜索,您可以有效地優先顯示完全匹配項,並根據相關性對部分匹配項進行排名。
以上是如何提高 MySQL 全文搜尋結果的相關性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!