[英]Search SQL for Similar Strings of Text
我已經瀏覽了有關Stack Overflow的一些問題,但似乎找不到答案。 我已經將一個包含客戶信息的非常大的數據庫(大約600萬個條目)導入到MySQL數據庫中。 我正在使用PHP查詢數據庫。 尚未以計算機友好方式輸入數據。 當客戶檢查其詳細信息時,我還需要在數據庫中查詢其他具有完全相同的物理地址的人,並通知用戶。
問題在於,已經以各種方式輸入了相同的地址,例如,
海洋大道105號
海洋大道105號
在某些地址中,逗號之間還存在其他空格或雙精度空格,例如:
紐約市海洋大道105號
紐約海洋大道105號
這使equals =運算符變得無用...是否有一種簡單的方法來查詢數據庫以查找(例如)80%或更高的相似度。
全文搜索是您前進的道路。
您的查詢將如下所示,
SELECT * FROM table_name WHERE MATCH(col1, col2) AGAINST('search terms' IN BOOLEAN MODE)
請仔細閱讀以下文檔,以達到目的。
https://www.w3resource.com/mysql/mysql-full-text-search-functions.php
您可以從Php進行比較。 例如,使用Php similar_text或levenshtein函數。 這兩個函數都提供了兩個字符串之間相似度的度量。
或者,您可以使用Mysql Natural語言全文搜索。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.