如何透過相關性排序增強MYSQL 全文搜尋結果
依相關性對搜尋結果進行排序對於提供使用者最相關的結果至關重要。在 MySQL 中,這可以透過其強大的全文搜尋功能來實現。但是,使用 LIKE 關鍵字並不構成全文搜尋。
要利用全文搜尋的功能,請使用 MATCH(...) AGAINST(...) 結構。 MATCH 子句根據指定欄位評估搜尋字詞,為每個結果產生相關性分數。此分數用於衡量結果與使用者查詢的匹配程度。
要優先考慮精確匹配,可以採用以下查詢結構:
SELECT * FROM `vocabulary` WHERE MATCH(translation) AGAINST ('word') ORDER BY MATCH(translation) AGAINST ('word') DESC
MATCH 函數計算相關性分數和 DESC 限定符確保首先顯示分數最高(即最相關)的行。這確保了“word”的精確匹配出現在結果的頂部,後面是按字母順序排序的部分匹配。
透過利用 MATCH(...) AGAINST(...) 構造,您可以提升 MYSQL 全文搜尋結果的相關性,為您的使用者提供他們尋求的最有價值、最相關的資訊。
以上是如何使用 MATCH...AGAINST 提高 MySQL 全文搜尋相關性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!