什么是缓存?
在搜索领域中,所谓缓存,就是在高速内存硬件设备上为搜索引擎开辟一块存储区,来存储常见的用户查询及其结果,并采用一定的管理策略来维护缓存区内的数据。当搜索引擎再次接收到用户的查询请求时,首先在缓存系统中查找,如果能够在缓存中找到,则直接返回搜索结果;否则采取正常的搜索流程来返回搜索结果。缓存技术在目前所有的搜索引擎都采用到。
搜索引擎使用缓存的好处:
1、加快用户查询响应时间。
2、有效减少搜索引擎后台计算量,节约系统资源。
搜索引擎正常搜索流程:
1、搜索引擎接收用户查询请求
2、搜索引擎对用户查询词(语句)进行分词
3、计算每一个查询词的权重,构成一个查询向量VQ
4、将存储在磁盘上的对应单词的倒排列表读入内存
5、取所有查询词倒排列表的交集(交集:包含所有查询词的所有文档的集合RS(Result Set))
6、遍历RS中,对每一篇文档对应的权重向量VR与VQ计算余弦值,加入优先级队列排序。
(关于余弦相似度http://www.ruanyifeng.com/blog/2013/03/cosine_similarity.html)
7、按照相关度由高到低返回给客户端