簡體   English   中英

在SQL中搜索類似的文本字符串

[英]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

http://www.mysqltutorial.org/mysql-full-text-search.aspx

您可以從Php進行比較。 例如,使用Php similar_textlevenshtein函數。 這兩個函數都提供了兩個字符串之間相似度的度量。

或者,您可以使用Mysql Natural語言全文搜索。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM