垂直搜索技术框架

技术原理
垂直搜索有搜索引擎的共性,即需要抓取大量的网页,分析其中的数据,特性是通用搜索更着重于正文内容的分离,关键字索引,链接关联权重分析,是一种非结构化分析,而垂直搜索更着重于正文内容模式分离,数据调整,相关链接分析,是一种结构化分析过程。

垂直搜索技术框架
垂直搜索的模块主要有以下几部分:
网站分析——你需要设定自己需要的网站资料,并设定行业统一模板。
站点初始化——不同于通用搜索,很多垂直搜索需要登录到站点内部才能拿到有效信息或完整信息,所以你需要一个模拟登录的过程,很多时候你甚至需要一个模拟的注册过程。
页面爬虫——抓取页面数据。
图片爬虫——鉴于负载分摊原则,这是一个独立模块,并衍生出MP3爬虫,Flash爬虫,视频爬虫等等模块。
数据分析——模式分离正文内容,分析有用链接,为爬虫产生新的数据URI。
迁移完整——数据拷贝集中,修改部分数据格式,使之适应行业统一模板,并做一些数据挖掘和深加工工作。垂直搜索还没有形成大的气候,不要奢望有行业站点主动去做垂直搜索引擎优化,我们能做的只能是优化垂直搜索引擎。
数据发布——发布到你的外网服务器,对关键数据进行分词,建立合适的索引。
外网查询——最快的检索速度,一个更好的UI,更多的应用,可行的盈利模式。

一部分技术难点
代理内核——在2000年到2003年间,笔者曾经用各种现成组件、类来抓取网页,最终逐步放弃直至想到用代理的方式来获得数据,其间遇到种种情况,最后 才确认代理模式是能捕获所有网页的唯一方式。有正在研究的朋友希望本文能让你少走弯路。2005年,偶尔看到Google的简介里明确说明了Google 爬虫的原理也是代理模式,大郁闷,浪费那么多时间精力。
线程管理——多线程是提高效率的很好方法,但线程管理却是噩梦,直到去年,笔者还经常为线程死锁、溢出,服务器当机而频发噩梦。
汉语分词——这是一个积累的过程,通用的词库很容易在网上可以Down到,但一些行业专用的词语,如地理位置、公司名、商品型号等,需要自己慢慢在采集的过程中用统计的方法积累。
万能模板——垂直搜索比较有争议的部分是所谓的万能模板和定制模板的区别,个人认为其实可以综合万能模板的效率和定制模板的质量,概念上的东西,没必要争议太多,好用有效才是当前唯一原则,当然,更智能化的万能模板则是将来研究的方向。
图片识别——这是一个比较有意思的分支,有时候你需要在模拟登录的时候突破验证码,有时候你也需要识别图片化的联系方式来为下一步数据挖掘做准备,解决方 案是你可以用现成的文字识别组件,也可以自己研究算法,写一个识别类,仔细研究下去,其实也没有想象中的那么难,而且终于有机会在编程中用上初中以后的数 学知识。
海量数据查询——相对通用搜索,垂直搜索在这个方面弱了很多,大部分行业数据时效性都很强,所以数据条目过亿的查询很少,但对初学者,也需要去好好学习一下更有效的数据索引。
分布式架构设计——这或者是一个垂直搜索引擎所处级别最重要的特征,一个好的设计应该是一个可以无限扩展的设计,原则只有一个:数据级别上升,访问量上升,只需要增加服务器数量即可应对。一个合理的树形结构应该是一个良好的选择。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值