2013-07-09 65 views
1

我在MySQL數據庫中有一組850,000條目。有些條目非常相似,如按相似性分組排序

Foobar Lorem 
Foobar Ipsum 
Foobar Dolor 

如何將所有條目按相似性分組(例如至少4個相等字符)。 我無法使用LIKE運算符查詢特定字符串,因爲我不知道所有可能的類似條目。

我發現了一些有趣的方法(例如Levenshtein距離),但所有函數都需要至少一個參數來查找。

有什麼建議嗎?

/更新

它足以當字符串的開頭是類似

+0

我認爲你爲什麼沒有發現,不帶參數的方法的原因是,沒有奔頭的可能性將成倍增長 –

+1

你可以尋找到一個[聚類算法(HTTP:// jonisalonen的.com/2012/k均值聚類功能於MySQL的/)。對於'k-means',你可以選擇一個隨機單詞作爲質心,並使用levenshtein距離來聚類它們。 – David

+2

'GROUP BY SUBSTRING(col,1,6)'將會在開始時分組,如果需要修剪。或者,只需轉到第一個「'」字符。 – 2013-07-09 20:08:10

回答