1、分布式计算是什么?
在海量数据面前,搜索引擎需要发掘里面的数据价值,仅仅通过普通的数据库分析很难达到理想效果,即使采用编程分析也是比较难的,因此需要一个计算平台协助搜索引擎进行数据分析。所以对于大数据的处理,需要引入分布式计算,分布式计算是采用多台服务器分散处理的方式,将由于数据过大而导致计算时间过长的任务拆解为更多的子任务,将这些子任务分别交给更多的服务器去处理,各个服务器处理完毕之后,将最终结果合并。整个过程中,从处理方式上可以分为流计算和批量计算,批量计算是先存储后计算,而流计算是直接计算。
从搜索引擎角度看,对这些海量数据的分析,不得不依赖分布式计算平台。但是部分信息采用的是离线批处理运算;对于部分信息的处理实时性越高越好,例如,针对数据抓取是离线运算,而对于结果排序需要采用实时计算。分布式计算之所以成为大数据处理分析的重要工具在于如下两个方面:
(1)高性能服务器也能进行复杂运算,但是高性能服务器不仅价格昂贵,而且一旦出现故障将导致众多问题。相反,将廉价的普通计算机组成一个分布式计算网络,不仅可以进行复杂运算,还可以避免单机故障导致系统瘫痪,具备高容错性。。
(2)采用分布式计算可以有效将资源进行汇总,可以灵活扩展计算性能,维护成本低,并且可以让不同的分布式应用运行在分布式计算集群中,意味着任何开发者都可以向分布式计算平台发起执行应用的可能。
利用分布式计算,使得搜索引擎能够在尽可能短的时间内处理海量数据,分析出数据的价值,例如,在极短的时间内分析出当前实事热点新闻、为用户推荐最相关的广告、最短时间内为用户反馈搜索结果等。分布式计算和分布式存储作为搜索引擎的基础平台,是后续一切工作的基础。
2、搜索排序技术
在搜索服务中,搜索服务接口通过搜索服务后台获得搜索结果,而在搜索服务后台向搜索服务接口返回结果之前,搜索服务后台有一项非常重要的工作即对结果排序,通俗意义上是对搜索结果中的文档集合进行排序。文档集合排序是搜索引擎中核心的组成部分之一,是用户直观感觉搜索引擎质量优劣的主要标准,时至今日各互联网公司依然在持续深入研究搜索引擎排序策略。
目前,主流的搜索引擎主要从利用搜索词、文档质量及用户信息三方面对搜索结果的文档集合进行排序。
(1)利用搜索词进行排序。该过程又称为相关性排序,是根据用户的搜索词与文档本身的相关程度进行排序,整个过程只考虑文档与用户搜索词的匹配程度。
(2)利用文档质量进行排序。文档的质量是一个多方面的评价标准,它包括对文档链接权值、文档链接质量的分析,对文档内容真实性、文档内容权威性等各方面情况计算一个合理参考值,给予文档基于质量上的评分。
(3)利用用户信息进行排序。该过程又称为个性化排序,是根据用户搜索的历史记录、个性喜好、身份特征等方面为用户定制的搜索结果,即可能导致不同用户使用相同搜索词看到的搜索结果可能不一致。
对于用户搜索文档的最终排序结果是上述三类排序的综合排序,例如,三个文档:文档A、文档B、文档C。在上述三类排序中均存在不同的排序序列,通过将三方面综合,给予一个最终排序序列。
换个角度看搜索排序,除对搜索排序结果质量有很高的要求之外,对排序完成的时间也具有极高的要求,在极短的时间内完成排序也是搜索体验的重要影响因素夕一-存L:述三类排序中,利用搜索词和用户信息的排序方式采用分布式实时计算,而文档质量则在数据分析过程中已经完成,并不需要在用户搜索过程进行文档质量评分。
本文从相对简易的角度去认识搜索引擎中的工作原理及大致使用到的技术体系。从基本模块结构上看,搜索引擎主要包括爬虫服务、索引服务、缓存服务、搜索服务及日志服务。这些服务相互之间产生关联影响。搜索引擎的所有服务均是由自然语言处理、知识图谱、海量数据存储、分布式计算、搜索排序等提供技术支持,这些技术支撑了搜索引擎的整个服务运作流程。乐天SEO培训学员通过对搜索引擎原理和技术的了解,有助于后续深入分析搜索引擎内部结构和实现。
文章评论 本文章有个评论