php - 将字符串与 mysql 中的值进行比较

标签 php mysql performance comparison

我有一个数据库,其中包含与音乐相关的乐队和其他艺术家的名字。现在我想根据该数据库检查包含艺术家姓名的字符串,并找到相似或相同的艺术家以避免不同类型的拼写。

我找到了 php 函数“similar_text”,我确信构建一个脚本来在循环中进行这种比较是没有问题的。

进行此类比较的最佳和最快方法是什么?

最佳答案

这取决于您的数据大小。如果它是微不足道的 [几万] - 然后运行每晚的批处理作业将:

  • 从源数据中提取唯一的艺术家姓名
  • 计算soundex
  • 创建字典,键为 soundex,值为艺术家列的原始字符串列表

在此阶段,您必须决定是要自动合并还是手动批准每次重命名。从长远来看,您可以拥有拼写正确的帮助表,并且到目前为止发现拼写错误。这些情况可以在下次遇到时自动处理。

如果 soundex 不够好,您可以尝试使用 php 的 similar_text、levenshtein 函数进行试验,并将在新添加的数据中找到的名称与您之前已经评论过的“认可”艺术家名称进行比较。

关于php - 将字符串与 mysql 中的值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8473756/

相关文章:

iphone - 当我从 Xib 文件加载自定义 UITableViewCells 时发生泄漏?

php - laravel 数据表加载数据需要很长时间

php - 如何解析这个?

mysql - SQL 查询中的复杂计算

MySQL 查询 : How to select rows that don't have a certain value?

mysql - 显示今天有日期的所有行的正确方法

c++ - 为什么 64 位版本的应用程序比 32 位版本的应用程序慢得多

php - 从 Laravel 中具有一对多关系的 4 个表中检索值

php - 如果当前未被访问,则删除文件

javascript - jQuery 更改表单的响应文本