当前位置: 首页 > 知识库问答 >
问题:

SQL Server上Levenshtein距离的最佳实践

钱选
2023-03-14

我有一个web和一个使用SQL Server的移动字典应用程序。我试图实现一个简单版本的“你的意思”功能。如果用户输入的短语在数据库中不存在,我需要提出建议。

共有1个答案

濮阳俊明
2023-03-14

您是否已经查看了SQL Server中可用的SOUNDEX用户定义函数?

您可以使用一个触发器,该触发器计算列的soundex,并在每次更新列时将其保存在该列旁边。搜索时,可以计算搜索标准的soundex,并将其与表中存储的soundex-column进行比较。

 类似资料:
  • 我使用Levenshtein距离算法将作为用户输入提供的公司名称与已知公司名称数据库进行比较,以找到最接近的匹配项。算法本身工作正常,但我想构建一个偏差,这样如果字符串的初始部分匹配,编辑距离就会被认为更低。 例如,如果搜索条件是“ABCD”,那么“ABCD Co.”和“XYX ABCD”具有相同的编辑距离。但是,我想增加一个事实,即第一个字符串的开头部分比第二个字符串更符合搜索条件。

  • 我使用Levenshtein算法来查找两个字符串之间的相似性。这是我正在制作的程序的一个非常重要的部分,所以它需要有效。问题是算法没有发现以下示例相似: CONAIR AIRCON 编辑:我还研究了“Damerau-Levenshtein”算法,它增加了换位。问题是这种转换只针对相邻的字符(而不是多个字符)。

  • 问题内容: 在Python + Sqlite中是否有可用的字符串相似性度量,例如与模块有关? 用例示例: 此查询应匹配ID为1的行,但不匹配ID为2的行: 如何在Sqlite + Python中做到这一点? 关于我到目前为止发现的注释: 该Levenshtein距离,即单字符编辑(插入,删除或替换)的最小数量需要改变一个字到另一个,可能是有用的,但我不知道是否SQLite中存在的正式实施(我看到一

  • 问题内容: 所以我有一个随机的javascript名称数组… [@ larry,@ nicholas,@ notch]等 它们都以@符号开头。我想按Levenshtein距离对它们进行排序,以使列表顶部的那些最接近搜索词。目前,我有一些使用jQuery的javascript,它使用javascript 方法在按键时输入的搜索词周围: (自首次发布以来编辑的代码) 它还具有一些if语句,用于检测数组

  • 我想从多个文件做数百万条记录的模糊匹配。我为此确定了两种算法:Jaro-Winkler和Levenshtein编辑距离。