搜索大型数据库的建议/建议

时间:2015-10-01 09:43:17

标签: database algorithm search search-suggestion jaro-winkler

我有数百万行的表。现在当用户在从表中搜索字符串或单词时出现任何拼写错误,我想从表中推荐用户正确的单词或字符串。我正在使用jaro-winkler算法来比较字符串的距离,但由于我的数据库很大,我的查询花了很多时间执行。在应用jaro-winkler算法之前,我将如何最小化数据。

还有其他更好的方法,我可以通过大表快速搜索推荐。

我想在没有自动建议的情况下构建类似谷歌搜索的搜索。我正在使用我的sql数据库。

请建议。

1 个答案:

答案 0 :(得分:0)

您可能想尝试SOUNDEX https://en.wikipedia.org/wiki/Soundex查询。 https://msdn.microsoft.com/en-us/library/ms187384.aspx

  • 改变表格,并为单词
  • 的soundex添加一列
  • 更新表格以填写单词
  • 的soundex
  • 在soundex列上添加INDEX
  • SELECT * FROM Table WHERE WordSoundex = SOUNDEX(@query)