database - 大数据库搜索推荐/建议

标签 database algorithm search search-suggestion jaro-winkler

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

有没有其他更好的方法可以从大表中获得快速搜索推荐。

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

请推荐。

最佳答案

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

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

关于database - 大数据库搜索推荐/建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32884357/

相关文章:

java - 在大型数据库缓存中删除或标记为已删除?

algorithm - 不同步长的Floyd环路检测算法

Python "list index out of range"广度优先遍历错误

php - WordPress 自定义帖子类型未显示在搜索结果中

php - 随时随地更改数据库名称 php

Mysql外键约束格式不正确?

eclipse - 是否可以扩展 Eclipse 搜索菜单

sql - 查询多种币种

php - 如何在mysql中选择一行中的第一个空列

algorithm - 实时绘制 1 像素粗的锯齿线