搜索方法和装置制造方法

文档序号:8004893阅读:150来源:国知局
搜索方法和装置制造方法
【专利摘要】本申请涉及搜索方法和装置。该方法包括:接收用户的搜索请求;将搜索请求转换成按照缓存粒度配置的缓存查询请求;根据缓存查询请求,在缓存中查询与缓存查询请求对应的搜索结果,其中缓存中的搜索结果的缓存粒度相同;以及从与缓存查询请求对应的搜索结果中提取出与搜索请求对应的搜索结果并返回给用户。由此能够提高缓存命中率,减轻对搜索引擎的访问压力,缩短搜索处理时间,以及提升用户体验。
【专利说明】搜索方法和装置

【技术领域】
[0001] 本申请涉及数据处理领域,尤其涉及一种搜索方法和装置。

【背景技术】
[0002] 随着互联网技术的发展,用户在网上搜索信息已非常普遍。通常,网站服务系统接 收来自用户的搜索访问,并根据该搜索访问向用户返回相应的搜索结果。由于搜索结果的 数量往往非常大,不能在一个网页中或一个界面中完全显示出来,所以针对搜索结果的显 示,存在各种不同的显示方式,以便于用户可以通过操作浏览所有搜索结果。
[0003] 在搜索结果页面(Search Result Page, SRP)中展现搜索结果目前常用的有两种 方式:翻页式和瀑布流式。翻页式是当搜索结果超过一个页面展示数量后,采用通过点击查 看下一页上一页的方式来浏览全部结果。瀑布流式视觉表现为参差不齐的多栏布局,随着 页面滚动条向下滚动,当前数据展示完毕后还会不断加载数据块并附加至当前尾部,以此 浏览全部结果。
[0004] 目前,对于通过Web网页方式的访问,网站服务系统通常使用翻页方式显示搜索 结果给用户,而对于通过客户端程序方式的访问,网站服务系统通常使用瀑布流方式显示 搜索结果给用户。
[0005] 图1示出了网站服务系统用于处理用户的搜索访问的典型系统架构。下面结合图 1描述目前网站服务系统根据用户的搜索访问获取搜索结果的工作流程。
[0006] 典型地,某网站搜索提供Web网页搜索服务和移动客户端搜索服务。如图1所示, 当用户通过浏览器搜索,发送http请求到Web服务器110。Web服务器110接收用户请求, 并根据用户请求生成适于翻页显示方式的搜索请求。该搜索请求包括用户查询关键词、所 需返回的搜索结果的起始位置以及所需返回的搜索结果的数量。然后,Web服务器110根据 搜索请求访问缓存服务器130以查询在缓存中是否存在与该搜索请求对应的搜索结果,即 缓存是否命中;如果命中,则Web服务器110从缓存中直接得到搜索结果,返回给用户;如 果未命中,则Web服务器110请求搜索引擎140根据上述生成的搜索请求进行搜索以得到 相应的搜索结果,并将搜索结果返回给用户,同时将相应的搜索结果存储到缓存服务器130 中,以供下一次请求使用。
[0007] 而当用户通过移动客户端访问搜索网站,发送请求到移动互联网服务器120时, 移动互联网服务器120接收用户请求,并根据用户请求生成适于瀑布流显示方式的搜索请 求。该搜索请求也包括用户查询关键词、所需搜索结果的起始位置以及所需搜索结果的数 量。然后,移动互联网服务器120根据搜索请求访问缓存服务器130以查询在缓存中是否存 在与该搜索请求对应的搜索结果,即缓存是否命中。如果命中,则移动互联网服务器120从 缓存服务器130中直接得到搜索结果,返回给用户;如果不命中,则移动互联网服务器120 请求搜索引擎140根据上述生成的搜索请求进行搜索以得到相应的搜索结果,并将搜索结 果返回给用户,同时将相应的搜索结果存储到缓存服务器130中,以供下一次请求使用。
[0008] 举例来说,假设用户搜索"苹果iphone4",共有18个商品匹配。
[0009] 在翻页显示方式下,一页展示10个商品。
[0010] 第一页需要的是前1〇个结果,对应的搜索请求包括的关键词为"苹果iphone4"、 搜索结果的起始位置参数为"〇"、搜索结果展示数为"10"。则搜索引擎构造的搜索请求可 以表示为"q=苹果iphone4&s=0&n=10"。搜索引擎返回的结果为经过排序模型排序后的前 10个搜索结果。
[0011] 第二页需要的是第11-20个结果,对应的搜索请求可以表示为"q=苹果 iphone4&s=10&n=10"。返回结果为经过排序模型排序后的后8个结果。
[0012] 在瀑布流显示方式下,第一次展示5个商品,后续每次加载3个商品。
[0013] 第一次加载5个商品,对应的搜索请求可以表示为"q=苹果iphone4&s=0&n=5"。 返回结果为经过排序模型排序后的前5个搜索结果。
[0014] 第二次加载3个商品,对应的搜索请求为可以表示为"q=苹果iphone4&s=5&n=3"。 返回结果为经过排序模型排序后的第6个至第8个搜索结果。
[0015] 第三次加载3个商品,对应的搜索请求可以表示为"q=苹果iphone4&s=8&n=3"。 返回结果为经过排序模型排序后的第9个至第11个搜索结果。
[0016] 其中,q为用户查询的关键词,s为所需返回的搜索结果的起始位置参数,n为所需 返回的搜索结果的数量。
[0017] 起始位置参数、需返回的搜索结果的数量不同时,搜索引擎生成的搜索请求不同。 对于提供不同的搜索结果显示方式(比如翻页显示方式和瀑布流显示方式)的移动互联网 服务器120而言,在用户输入同样的查询词的条件下,因为搜索结果显示方式的不同,搜索 引擎生成的搜索请求也很可能会不同。
[0018] 而通常缓存服务器存储搜索结果的方式是典型的键-值(key-value )型存储。缓 存服务器存储搜索结果时,以搜索请求作为键来建立索引,键对应的键值则为搜索结果。即 搜索请求与搜索结果在缓存中一一对应。针对诸如翻页和瀑布流之类的不同显示方式而 言,由于搜索请求不同,即使两者在缓存服务器中分别对应的搜索结果有重叠,也不能实现 在缓存中的搜索结果的共用。这样,搜索结果显示方式的不同会降低搜索请求命中缓存服 务器中缓存的搜索结果的概率,导致后端搜索引擎的访问压力大,以及缓存的容量要求高。
[0019] 举例来说,假设用户在使用关键词"苹果iphone4"进行商品搜索时,某一用户在前 一时刻使用翻页式显示方式获取搜索结果,而另一用户或同一用户在后一时刻使用瀑布流 式显示方式获取搜索结果。使用翻页式显示方式的用户分别先后进行了展示第一页搜索结 果及翻页到第二页的操作。使用瀑布流式显示方式的用户分别先后进行了搜索结果的第一 次加载、第二次加载及第三次加载等操作。在用户进行上述的操作后,缓存服务器保存内容 如下表1所示:
[0020] 表 1
[0021]

【权利要求】
1. 一种搜索方法,其特征在于,包括: 接收用户的搜索请求; 将所述搜索请求转换成按照缓存粒度配置的缓存查询请求; 根据所述缓存查询请求,在缓存中查询与所述缓存查询请求对应的搜索结果,其中缓 存中的搜索结果的缓存粒度相同;以及 从与所述缓存查询请求对应的搜索结果中提取出与所述搜索请求对应的搜索结果并 返回给用户。
2. 根据权利要求1所述的方法,其特征在于,当所述缓存中不存在与所述缓存查询请 求对应的搜索结果时,所述根据所述缓存查询请求在缓存中查询与所述缓存查询请求对应 的搜索结果的步骤进一步包括: 从搜索引擎获取与所述缓存查询请求对应的搜索结果;以及 将与所述缓存查询请求对应的搜索结果存储到所述缓存中。
3. 根据权利要求1所述的方法,其特征在于,所述缓存粒度限定一笔缓存查询请求对 应的搜索结果在缓存中允许存储的数量。
4. 根据权利要求1所述的方法,其特征在于,所述搜索请求至少包括查询关键词、所需 搜索结果的起始位置参数和所需搜索结果的数量。
5. 根据权利要求4所述的方法,其特征在于,所述缓存查询请求至少包括所述查询关 键词、所需搜索结果的起始位置参数和所需搜索结果的数量, 其中,所述缓存查询请求中的所需搜索结果的起始位置参数配置为缓存粒度的整数 倍,使得所述缓存查询请求中的起始位置参数小于或等于所述搜索请求中的起始位置参数 且所述缓存查询请求中的起始位置参数与缓存粒度之和大于或等于所述搜索请求中的起 始位置参数,并且 所述缓存查询请求中的所需搜索结果的数量配置为所述缓存粒度限定的数量。
6. 根据权利要求1所述的方法,其特征在于,根据针对不同显示方式的不同搜索请求 中的所需搜索结果的数量来设定所述缓存粒度。
7. 根据权利要求6所述的方法,其特征在于,根据针对不同显示方式的不同搜索请求 中所需搜索结果数量之中最大者的整数倍来设定所述缓存粒度。
8. 根据权利要求7所述的方法,其特征在于,对不同显示方式下的不同搜索请求中的 所需搜索结果的数量进行设定,使得其中最大数量均为其它数量的整数倍。
9. 根据权利要求1-8中任一项所述的方法,其特征在于,结合用户行为历史信息来设 定所述缓存粒度。
10. -种搜索装置,其特征在于,包括: 接收模块,用于接收用户的搜索请求; 转换模块,用于将所述搜索请求转换成按照缓存粒度配置的缓存查询请求; 查询模块,用于根据所述缓存查询请求,在缓存中查询与所述缓存查询请求对应的搜 索结果,其中,缓存中的搜索结果的缓存粒度相同;以及 提取和返回模块,用于从与所述缓存查询请求对应的搜索结果中提取出与所述搜索请 求对应的搜索结果并返回给用户。
11. 根据权利要求10所述的装置,其特征在于,当所述缓存中不存在与所述缓存查询 请求对应的搜索结果时,所述查询模块进一步用于: 从搜索引擎获取与所述缓存查询请求对应的搜索结果;以及 将与所述缓存查询请求对应的搜索结果存储到所述缓存中。
12. 根据权利要求10所述的装置,其特征在于,所述缓存粒度限定一笔缓存查询请求 对应的搜索结果在缓存中允许存储的数量。
13. 根据权利要求10所述的装置,其特征在于,所述搜索请求至少包括查询关键词、所 需搜索结果的起始位置参数和所需搜索结果的数量。
14. 根据权利要求13所述的装置,其特征在于,所述缓存查询请求至少包括所述查询 关键词、所需搜索结果的起始位置参数和所需搜索结果的数量, 其中,所述缓存查询请求中的所需搜索结果的起始位置参数配置为缓存粒度的整数 倍,使得所述缓存查询请求中的起始位置参数小于或等于所述搜索请求中的起始位置参数 且所述缓存查询请求中的起始位置参数与缓存粒度之和大于或等于所述搜索请求中的起 始位置参数,并且 所述缓存查询请求中的所需搜索结果的数量配置为所述缓存粒度限定的数量。
15. 根据权利要求10所述的装置,其特征在于,所述缓存粒度是根据针对不同显示方 式的不同搜索请求中的所需搜索结果的数量来设定的。
16. 根据权利要求15所述的装置,其特征在于,所述缓存粒度是根据针对不同显示方 式的不同搜索请求中所需搜索结果数量之中最大者的整数倍来设定的。
17. 根据权利要求16所述的装置,其特征在于,不同显示方式下的不同搜索请求中的 所需搜索结果的数量设定成使得其中最大数量均为其它数量的整数倍。
18. 根据权利要求10-17所述的装置,其特征在于,结合用户行为历史信息来设定所述 缓存粒度。
【文档编号】H04L29/06GK104424199SQ201310367225
【公开日】2015年3月18日 申请日期:2013年8月21日 优先权日:2013年8月21日
【发明者】郑南 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1