垂直搜索架构(检索应用部分)

这里用开源搜索引擎lucene以及手机应用市场搜索做例子。

首先我们对上一篇文章爬取的资源做索引。

架构图:

在此输入图片描述

手机应用软件是分版本的,以及如今一个软件给各家应用门户网站做独家首发代理之类需要改apk包结构以及包内容的情况十分常见。所以我们需要对资源进行选优,去重。同一软件,官方的(当然如果你公司是独代什么的有自己加工过的包的话)、最新版本的,会被建进索引中,其余非官方的,旧版本的资源将不被加进索引,但是可以在随后的过往版本记录中展示出来,具体视业务需要而定。

自动提示方面,首先垂直资源的标题如果短(如应用软件名),需要优先被加入自动提示表,其次进行分词,或者自定义扩展字典表。

资源的一些特殊处理也需要注意,例如应用预先进行广告、杀毒的排查,并在资源页进行标注。

利用负载均衡服务器可以做一些异步的用户行为记录操作,例如可以记录用户搜索的关键字,并将定期统计关键字的查询频率对垂直资源进行人工干预并最终影响搜索结果排序。

自己从其他网站爬来资源的同时,自己的搜索应用也将被其他网站所爬取,在此尽量不要出现明显的资源集体列表url之类的页面,或者限制此类页面的数量,在源头上限制其他网站的爬虫爬取,为网站减少不必要的压力。

你可能感兴趣的:(垂直搜索架构(检索应用部分))