由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - load一个巨大的k-v table到一个view里,有搜索功能 怎么设计? (转载)
相关主题
急, 请教个面试问题贴一下我google第一轮店面的题目
报个offer,顺便写一下面经攒人品Qualcomm的面经
关于coding面试的问题弱弱的问问跟hash有关的问题
脸昂赛讨论一道onsite时候问的问题
关于KMP里pre-process table的里的fall backfinds all repeated substrings in the string --- YAHOO interview question
求问一个面试题问道Google题目
问个系统设计题请教一道题目
gmail/google 搜索问题,你一定也遇到过问下careercup上的这一题
相关话题的讨论汇总
话题: 搜索话题: 功能话题: 设计话题: load话题: view
进入JobHunting版参与讨论
1 (共1页)
H******7
发帖数: 1728
1
【 以下文字转载自 Programming 讨论区 】
发信人: HanSolo7 (隼), 信区: Programming
标 题: load一个巨大的k-v table到一个view里,有搜索功能 怎么设计?
发信站: BBS 未名空间站 (Sat Jan 17 00:42:58 2015, 美东)
有一个100万行的文件。
keyabcbalabala: 1
keycdebalabla: 2
keyxyzbalabala: 3
...
...
提供一个功能 在搜索兰里打 "abc" 就显示出所有Key里包含abc的kv pair.
有2个问题:
1. 为了提高用户体验,怎么设计数据结构?
2. 有没有优化手段?
谢谢。
w********s
发帖数: 1570
2
对key的任意substring作hash
对hashtable优化,当只有一个v的时候,直接存储v,而不是list ptr
w********s
发帖数: 1570
3
如果你做过搜索引擎的话,或者看过其中细节的话,应该知道.
l*****k
发帖数: 1059
4
1M records实在是不大
s********t
发帖数: 11
5
实际上不会对所有substring做索引的。现实当中会有个ignore words词表,而且最小
词长度会有限制,比如至少3个字符。这样的话可以考虑切词(leetcode有work break
)建立索引。
提高用户体验可以将相关索引直接返回。比如用户请求abc,返回abc,abcd,abce等等
。如果索引用某种树结构,可以考虑将查到结果的前后n条记录都返回。高级一点的是
做相关词处理,计算一组用户输入词序列的输入概率,然后弹出相关词。这需要记录用
户每一次输入然后跑某种模型算法得到。也有一些实时算法可以及时的弹出相关词。
貌似扯远了……。
1 (共1页)
进入JobHunting版参与讨论
相关主题
问下careercup上的这一题关于KMP里pre-process table的里的fall back
讨论一道G的题find longest substring which contains just two unique characters.求问一个面试题
一道Google面试题,怎么做?(题目描述有误,已修改)问个系统设计题
这个怎么做?gmail/google 搜索问题,你一定也遇到过
急, 请教个面试问题贴一下我google第一轮店面的题目
报个offer,顺便写一下面经攒人品Qualcomm的面经
关于coding面试的问题弱弱的问问跟hash有关的问题
脸昂赛讨论一道onsite时候问的问题
相关话题的讨论汇总
话题: 搜索话题: 功能话题: 设计话题: load话题: view