3
回答
两两url匹配的效率问题,如何实现效率会最高
华为云实践训练营,热门技术免费实践!>>>   

现在有12万的数据量,要就进行两两匹配 ,表结构大概如下

id, url  title  keyword

我需要两两比较他们的keyword,得到两个title的公共keyword,和公共的keyword个数num,根据num和从其他库中查找的数据得到一个weight,结果的形式大概如下:

aurl    burl  atitle  btitle  akeyword  bkeyword  comment_Keyword   num  weigth 

怎样操作会使执行效率高一点,我原来是做普通的循环,但是效率很慢。

还试过在数据库端先进行数据的笛卡尔积,然后处理,但是12万做笛卡尔积好像也够慢的,

有什么方法能效率高一点,可以涉及到hadoop

<无标签>
举报
康小宁
发帖于3年前 3回/147阅
共有3个答案 最后回答: 3年前

你应该建立一个搜索系统了。

keyword需要单独放了。

--- 共有 1 条评论 ---
康小宁数据库 | 被我搞烂了 | 也没法给你看数据了 关键词就是这种格式 文章的标题分词了,基本不可能有重复 你只能拿第一个依次和所有的比较 拿第二个和第三个以后的比较 依次往后 我想知道的是如何提高这个依次比较的效率 3年前 回复
不懂数据库,瞎扯下(-_-!);可不可以把key_word 字符串 hash下,变成 数字;变成数字的比较?
--- 共有 1 条评论 ---
康小宁可能是我的表述不清楚,那个关键词的我自己有方法处理,我关心的是第一个依次和第2,3,。。。10万,第二个和第3,4。。。。10万。。比较这个过程如何做效率高 3年前 回复
你应该设计几个新表,重新统计。如果两两比较就是上亿次的匹配。不如以keyword 为主键建表。用空间换时间的方式。你试试看。
--- 共有 3 条评论 ---
DavidWTF看你的数据是稀疏还是密集了。你也可以考虑用常见的keyword 分隔数据。你的输入是100k级的,但输出是10g级的。 3年前 回复
DavidWTF以keyword 查到title集合,以集合中任何两个title为主键记录都有keyword 。 然后以两个title为条件从表中查询keyword 。 3年前 回复
康小宁那建立完了还是得一一匹配啊,如何做到空间换时间呢?可否详细告知 3年前 回复
顶部