搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。-问答-阿里云开发者社区-阿里云

开发者社区> 问问小秘> 正文

搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。

2020-01-06 16:41:16 546 1

搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。

取消 提交回答
全部回答(1)
  • 问问小秘
    2020-01-06 16:41:36

    假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门。),请你统计最热门的10个查询串,要求使用的内存不能超过1G。

        典型的Top K算法,还是在这篇文章里头有所阐述,详情请参见:十一、从头到尾彻底解析Hash表算法。          文中,给出的最终算法是:     第一步、先对这批海量数据预处理,在O(N)的时间内用Hash表完成统计(之前写成了排序,特此订正。July、2011.04.27);     第二步、借助堆这个数据结构,找出Top K,时间复杂度为N‘logK。         即,借助堆结构,我们可以在log量级的时间内查找和调整/移动。因此,维护一个K(该题目中是10)大小的小根堆,然后遍历300万的Query,分别和根元素进行对比所以,我们最终的时间复杂度是:O(N) + N'*O(logK),(N为1000万,N’为300万)。ok,更多,详情,请参考原文。

        或者:采用trie树,关键字域存该查询串出现的次数,没有出现为0。最后用10个元素的最小推来对出现频率进行排序。

    0 0
相关问答

78

回答

小白用户ECS使用实践【持续连载中】

qilu 2014-06-18 15:37:00 72510浏览量 回答数 78

9

回答

【精品问答合集】Hbase热门问答

hbase小能手 2019-05-29 14:37:26 120205浏览量 回答数 9

19

回答

【分享】如何提高网站的打开速度?

enj0y 2012-11-17 14:35:22 56707浏览量 回答数 19

37

回答

阿里官方Java代码规范标准《阿里巴巴Java开发手册》下载

管理贝贝 2017-02-10 15:14:36 74853浏览量 回答数 37

25

回答

OSS CNAME功能教程

enj0y 2012-08-27 16:26:30 35713浏览量 回答数 25

19

回答

【分享】如何提高网站的打开速度?

enj0y 2012-11-17 14:35:22 46913浏览量 回答数 19

15

回答

网页挂马及暗链检测

yundun1 2012-02-24 17:40:01 47007浏览量 回答数 15

13

回答

基于大数据的全球电商系统架构性能优化【精品问答集锦】

管理贝贝 2016-07-21 17:20:39 36416浏览量 回答数 13

11

回答

Windows2008r2+IIS7.5+mysql+php+URL_rewrite伪静态的环境配置

zhedianshi 2014-07-23 10:23:25 47574浏览量 回答数 11

42

回答

9月14日云服务器自定义配置上线通知

andyslove 2012-09-12 19:14:22 34927浏览量 回答数 42
+关注
3
文章
4679
问答
问答排行榜
最热
最新
推荐问答
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载