2012-05-11 54 views
0

我一直在使用LIKE查詢來搜索知識庫網站中的搜索字符串。因此,術語「電話」可能會在邏輯上打開所有寫有「phone」字樣的頁面。sql soundex查詢是否用於常規搜索?

但是,當進入較不典型的搜索,如「電話」,「電話」,「電話呼叫」,我開始進入LIKE查詢停止工作的領土。

有人向我推薦SOUNDEX,這樣我就可以捕捉到不僅僅是精確的匹配,而且可以捕捉到類似的匹配。

這是否正確使用SOUNDEX?有什麼更合適的嗎?

回答

3

如果它是一個只包含phonecall或類似詞語的列,那麼是的,這是對SOUNDEX的一個很好的使用,因爲您正在尋找聽起來相同但拼寫不同的字符串。如果您正在查看大量文本,則不太合適,因爲在生成SOUNDEX之前,您必須將文本分解爲文字,因此在「電話」這樣的雙字版本中會失敗。

對於改進的算法,我建議你看看Double Metaphone