Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Awk 使用匹配百分比标识自由文本关键字重复项_Awk_Duplicates_Sphinx_Percentage_Freetext - Fatal编程技术网

Awk 使用匹配百分比标识自由文本关键字重复项

Awk 使用匹配百分比标识自由文本关键字重复项,awk,duplicates,sphinx,percentage,freetext,Awk,Duplicates,Sphinx,Percentage,Freetext,在我的数据库中有几个名称标题,它们经常被创建和重新创建,只需稍作更改。通过人工目测,人们可以很容易地识别出它们是重复的,只是拼写有轻微的变化。例如,等等。我正在寻找的是一个解决方案,它提供了一个搜索重复关键字的百分比匹配。源集可能不够大,但引用集可以进入数百万数据。因此,与mysql的潜在匹配是不可伸缩的。参考集也在mysql和sphinx中索引。当前的复制逻辑不能完全捕获所有的复制。例如 Resort Inn, Res Ort inn, Rsort Inn etc Moy Knn Resort

在我的数据库中有几个名称标题,它们经常被创建和重新创建,只需稍作更改。通过人工目测,人们可以很容易地识别出它们是重复的,只是拼写有轻微的变化。例如,等等。我正在寻找的是一个解决方案,它提供了一个搜索重复关键字的百分比匹配。源集可能不够大,但引用集可以进入数百万数据。因此,与mysql的潜在匹配是不可伸缩的。参考集也在mysql和sphinx中索引。当前的复制逻辑不能完全捕获所有的复制。例如

Resort Inn, Res Ort inn, Rsort Inn etc Moy Knn Resort Moy-Knn Moy Knn Resort Moeyy-Knn American Food
我认为这些都是重复的。但第四个根本没有被抓获。我知道它们看起来一模一样,但通过消除元音和其他一些东西进行比较后,得到一些百分比数字会有所帮助。首选的解决方案主要是使用“php sphinx”,因为它的大部分已经准备好了,如果可能的话,也可以使用awk,而且还比较舒适。如果不是,任何开源python/perl等逻辑都可以

Well可以使用 给你一个实际的“百分比”

但很可能你想要某种“第一次通过”的匹配,给你可能的候选人,所以不需要在数百万行上运行levenshtein

坦白地说,我认为我们很难在狮身人面像中找到工作,特别是考虑到你的最后一个例子。这是非常不同的。唯一可能有帮助的是
在Soundex/metaphone系统中,你的“相似”单词实际上“听起来”是一样的可能性很小

你的意思是我理解它们看起来不一样-漏掉了这个词吗?是的,不要漏掉了。用形态学标准进行分类没有帮助。用手把一些字母打成球状,感觉去掉元音,把前面和后面的多个字母剪成一个字母,可以让我更接近匹配。也许用过滤后的数据+形态学标准就可以了。我会发布我的发现,尽管我很想听到更好的方法。