大量数据相似数据比较的问题

Indy_W 发布于 2012/07/04 14:45
阅读 305
收藏 0

我这边有个10万左右的公司表,要跟我们网站的公司表比对,找出相似的来,列到前台。我现在的做法是,在第一个表中读出500个数据,然后一个一个的进行比较,为了缩小比较次数,还对第二个表加入了LIKE条件。
SELECT第一个表500行
while($a=fetch第一个表){
$str=截取$a的某一段
SELECT第二个表LIKE%$str%
while($b=fetch第二个表)
{
similar_text($a,$b)
}
}

加载中
0
xmdeepdata
xmdeepdata

相似的规则是什么?如果没有性能上的要求,建议分成几步

1、绝对相等比较,先排除掉一批

2、左like,再排除掉一批

3、右like,再排除掉一批

4、中间某段(例如70%相似度),这个最复杂

基本上可以没有遗漏的全部统计出来,放在临时表中,然后查询临时表做翻页等。

Indy_W
Indy_W
回复 @yzjiang : 再请问一个问题,我发现Mysql进行一定数量的查询以后,所耗费的时间会增加很快,一般多少次查询对效率的影响会小一些
Indy_W
Indy_W
回复 @sxgkwei : 这个已经解决了...直接遍历读出来以后用PHP的similar_text,开始也觉得该分词,发现scws的词典没那么强大
sxgkwei
sxgkwei
回复 @yantai : 你这个要匹配公司名就复杂了,大家写这种东西随意性很大的,XX公司 和 XX信息公司 说不定就是同一个,难道你还打算分词?哦,卖糕的。
Indy_W
Indy_W
哦...明白了
Indy_W
Indy_W
要匹配的是公司名....所以也不敢左右LIKE
下一页
返回顶部
顶部