首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    搜索引擎的技术架构

    元搜索引擎(Meta Search Engine)。 ■ 全文搜索引擎   全文搜索引擎是名副其实的搜索引擎,国外具代表性的有Google、Fast/AllTheWeb、AltaVista、Inktomi、Teoma、WiseNut等,国内著名的有百度(Baidu)。它们都是通过从互联网上提取的各个网站的信息(以网页文字为主)而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果返回给用户,因此他们是真正的搜索引擎。   从搜索结果来源的角度,全文搜索引擎又可细分为两种,一种是拥有自己的检索程序(Indexer),俗称“蜘蛛”(Spider)程序或“机器人”(Robot)程序,并自建网页数据库,搜索结果直接从自身的数据库中调用,如上面提到的7家引擎;另一种则是租用其他引擎的数据库,并按自定的格式排列搜索结果,如Lycos引擎。 在搜索引擎分类部分提到过全文搜索引擎从网站提取信息建立网页数据库的概念。搜索引擎的自动信息搜集功能分两种。一种是定期搜索,即每隔一段时间(比如Google一般是28天), 蜘蛛搜索引擎搜索引擎主动派出“蜘蛛”程序,对一定IP地址范围内的互联网站进行检索,一旦发现新的网站,它会自动提取网站的信息和网址加入自己的数据库。另一种是提交网站搜索,即网站拥有者主动向搜索引擎提交网址,它在一定时间内(2天到数月不等)定向向你的网站派出“蜘蛛”程序,扫描你的网站并将有关信息存入数据库,以备用户查询。由于近年来搜索引擎索引规则发生很大变化,主动提交网址并不保证你的网站能进入搜索引擎数据库,目前最好的办法是多获得一些外部链接,让搜索引擎有更多机会找到你并自动将你的网站收录。   当用户以关键词查找信息时,搜索引擎会在数据库中进行搜寻,如果找到与用户要求内容相符的网站,便采用特殊的算法——通常根据网页中关键词的匹配程度、出现的位置、频次、链接质量——计算出各网页的相关度及排名等级,然后根据关联度高低,按顺序将这些网页链接返回给用户。这种引擎的特点是搜全率比较高。 ■ 目录索引 虽然有搜索功能,但严格意义上不能称为真正的搜索引擎,只是按目录分类的网站链接列表而已。(更简单说就是网址导航网站)

    02

    Python爬虫之基本原理

    网络爬虫(Web crawler),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,它们被广泛用于互联网搜索引擎或其他类似网站,可以自动采集所有其能够访问到的页面内容,以获取或更新这些网站的内容和检索方式。从功能上来讲,爬虫一般分为数据采集,处理,储存三个部分。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。另外,所有被爬虫抓取的网页将会被系统存贮,进行一定的分析、过滤,并建立索引,以便之后的查询和检索;对于聚焦爬虫来说,这一过程所得到的分析结果还可能对以后的抓取过程给出反馈和指导。

    03

    n-tier理论中数据在层间是如何传递的?什么是BO,DO,PO,VO,DTO,BoDto,DoDto?

    马克-to-win:一 个数据库中的表对应一个PO(Persistant Object),这好理解。在Web层的网页,当用户提交表单数据以后,在Controller层,把表单数据放在VO(View Object有人也叫Value Object) 当中,接着调用Service层。VO相对于网页表单数据,也许对应n个PO,而且和PO数据格式也许不一样。马克-to-win:(表单2012/1/1而数据库中是 2012-1-1)。Service层原始接受的数据是VO,但在这里,Service层把它变成DTO(Data Transfer Object)。DTO不用于VO,不但因为二者功能不同,(DTO用于专门的层间传输,VO用于持有表单数据)而且DTO也许有很多VO里没有的数据, 比如Service层的方法现场产生的加密密码,各种加密的标志,收到的短信验证码等。马克-to-win:Service层接着调用BO,BO调用DO,(这个过程 应该是涉及的业务范围越来越小,越来越具体,就像中央委托给东北局,东北局再委托给辽宁省,处理某个事一样),DTO在这个过程中承载的数据量也必然越来 越小。马克-to-win:既然有可能Service层和BO层或DO层不在同一台电脑上,为了节约网络带宽并提高系统性能,我们可以推出若干BoDto和DoDto的概念, 使它仅封装BO和DO需要的数据,当然采用BoDto和DoDto系统,会有越来越多的各种DTO,所以我们实际中宁愿使用粗粒DTO(即包含比需要多的 属性),而不是重新编写一堆新的各种各样的DTO,前提是只要冗余数据不是太多。马克-to-win:在代码量代码复杂度和系统性能之间做取舍是我们工程师永恒的话题。技术教 会大家,大家起码可以有做选择的机会。当DTO进入到DO层以后,经过DO的复杂处理后,当需要被传给Dao层,压入数据库之前一瞬间,就需要被变成PO 了。Dao层就相对简单了。

    02
    领券