免费智能真题库 > 历年试卷 > 电子商务设计师 > 2014年下半年 电子商务设计师 上午试卷 综合知识
  第53题      
  知识点:   分类   工作原理   搜索引擎   索引
  关键词:   搜索引擎        章/节:   网络营销的主要方法       

 
(53) 的工作原理是接受用户査询请求后,同时在多个索引上搜索并将结果返回给用户。
 
 
  A.  目录索引
 
  B.  元搜索引擎
 
  C.  全文搜索引擎
 
  D.  门户搜索引擎
 
 
 

 
  第48题    2011年下半年  
   54%
(48)搜索引擎没有自己的数据,当用户输入检索关键词时,将用户请求同时向多个搜索引擎提交,并将返回结果进行重复排除、重新排..
  第41题    2019年下半年  
   76%
当用户需要查询专业或者特定领域信息时,(41)是最好的选择。
  第47题    2009年下半年  
   51%
目录式搜索引擎具有(47)的特点。
   知识点讲解    
   · 分类    · 工作原理    · 搜索引擎    · 索引
 
       分类
        (1)全文搜索引擎。全文搜索引擎是广泛应用的主流搜索引擎。它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。全文按索引擎一般由信息采集、索引和检索三部分组成。
        信息采集的工作由搜索器和分析器共同完成,搜索引擎利用称为“网络爬虫”(Crawlers)、“网络蜘蛛”或“网络机器人”(Robots)的自动搜索机器人程序来查询网页上的超链接。
        搜索引擎整理信息的过程称为“建立索引”。搜索引擎不仅要保存建立起来的信息,还要将它们按照一定的规则进行排序。
        检索是用户向搜索引擎发出查询信息,搜索引擎接受查询信息并向用户返回资料。有的系统在返回结果之前对网页的相关度进行了计算和评估,并根据相关度进行排序,将相关度大的放在前面,相关度小的放在后面;也有的系统在用户查询前已经计算了各个网页的网页登记,返回查询结果时网页等级高的放在前面,网页等级低的放在后面。
        不同搜索引擎有不同的排序规则,因此在不同的搜索引擎中搜索相同关键词,排序是不同的。主要的全文搜索引擎有Google和百度等。
        (2)分类目录搜索引擎。分类目录搜索引擎也同样由信息采集、索引和检索三部分组成,只不过分类目录搜索引擎的信息采集和索引两部分主要依靠人工完成。用户在查询信息时,可以选择按照关键词搜索,也可按照分类目录逐层查询。如以关键词搜索,返回的结果跟全文搜索引擎一样,也是根据信息关联程度排列网站。需要注意的是,分类目录的关键词查询只能在网站的名称、网址和简介等内容中进行,它的查询结果也只是被收录网站首页的URL地址,而不是具体的页面。主要的分类搜索引擎有雅虎、新浪分类目录等。
        (3)元搜索引擎。元搜索引擎(META Search Engine)接受用户查询请求后,同时在多个搜索引擎上搜索,并将结果返回给用户。2005年成立的比比猫是我国首家元搜索引擎,它独创国际领先的聚类和去重技术,为用户提供精准、简捷、快速、智能、丰富的体验,但它只经历了短暂的生命周期,现已倒闭。元搜索引擎的工作原理如下图所示。
        
        元搜索引擎工作原理图
        (4)垂直搜索引擎。又称行业搜索引擎,是搜索引擎的细分和延伸。当用户需要查询专业或者特定领域信息时,垂直搜索引擎是最好的选择,具有“专、精、深”的特点,垂直搜索引擎是有针对性地为某一特定领域、特定人群或特定需求提供的有一定价值的信息和相关服务,可以简单地说成是垂直搜索引擎领域的行业化分工。例如慢慢买就是一个垂直搜索引擎。
 
       工作原理
        链路状态路由算法的基本工作过程如下:
        (1)路由器之间形成邻居关系。当某个路由器启动之后,要做的第一件事是知道它的邻居是谁,这可以通过向其邻居发送问候(Hello)报文来做到。
        (2)测量线路开销。链路状态路由算法要求每个路由器都知道它到邻居路由器的延迟。获得到邻居路由器延迟的最直接方式就是发送一个要求对方立即响应的特殊的Echo报文,通过计算来回延迟再除以2,就可以得到延迟估计值。如果想要得到更精确的结果,可以重复这一过程,再取平均值。
        (3)构造链路状态报文。一旦路由器获得所有邻居路由器的延迟,下一步就是构造链路状态报文。链路状态报文包含构造该报文的路由器标识,以及到每个邻居路由器的延迟。下图(a)给出了某网络的拓扑结构,对应的6个链路状态报文如下图(b)所示。
        
        构造链路状态报文
        构造链路状态报文并不是一件困难的事情,难在何时构造这些报文。一种方法是定期进行;另一种方法是当网络出现大的变化时(如线路断开或重新连通、邻居路由器故障或恢复等情况)就构造新的链路状态报文。
        (4)广播链路状态报文。链路状态路由算法的最重要也是最具有技巧性的部分就是如何将链路状态报文可靠地广播到网络中的每一个路由器。
        完成链路状态报文广播的基本思想是利用扩散。由于扩散将导致网络中存在大量的重复报文,为了控制重复报文的数量,在每个链路状态报文中加上一个序号,该序号在每次广播新的链路状态报文时加1。每个路由器记录它所接收过的链路状态报文中的信息对(源路由器,序号),当路由器接收到一个链路状态报文时,先查看一下该报文是否已收到过。将新接收到的报文序号与路由器记录的最大序号进行比较,如果前者小于或等于后者,则说明该报文是重复报文,将其丢弃;否则该报文就是新的,应将它扩散到所有的输出线路上(除了接收该报文的线路外)。
        仅仅使用序号来控制重复报文会有问题,但这些问题是可以控制的。首先是序号的循环使用可能会导致序号冲突,解决的办法是使用32位的序号,这样即使是每秒钟广播一次链路状态报文(实际上链路状态报文的广播间隔不止1秒钟),得花137年才能使计数循环回来,避免了发生冲突的可能性。其次,如果某路由器由于故障而崩溃了,当此路由器重新启动后,如果它的序号再从0开始,那么后面的链路状态报文可能会被其他路由器当作重复报文而丢弃。第三,如果链路状态报文在广播过程中序号出现错误,如将序号5变为1027(一位出错),那么序号为5到1027的报文将会被当成重复报文而丢弃,因为路由器认为当前的序号是1027,所有序号小于或等于1027的报文都认为是重复报文。
        为了解决重复报文这个难题,还可以在每个链路状态报文中加上生存期(Age)字段,且每隔1秒钟减1。当生存期变为0时,报文被丢弃。
        还可以对链路状态报文的广播过程作一些细微修改,使算法更强壮一些。如路由器接收到链路状态报文后,并不立即将它放入输出队列进行排队等待转发,而是首先将它送到一个缓冲区等待一会儿。如果已有来自同一路由器的其他链路状态报文先行到达,则比较一下它们的序号。如果序号相等,丢弃任何一个重复报文;否则丢弃老的报文。为了防止因为路由器之间的线路故障而导致链路状态报文的丢失,所有的链路状态报文都要进行应答。一旦通信线路空闲,路由器就会循环扫描缓冲区以选择发送一个链路状态报文或者应答报文。
        对于上图(a)中的网络,路由器B的报文缓冲区如下图所示。这里的每一行对应于一个新到的但未完全处理完毕的链路状态报文。这张表记录了报文来自何处、报文的序号、生存期及链路状态报文。另外,对应于B到每个邻居(到A、C和F)各有一个发送标志和应答标志。发送标志位用于标识必须将链路状态报文发送到该邻居,应答标志位用于标识必须给该邻居发送应答报文。
        
        对应于上图(a)中B的报文缓冲区
        在上图中,A产生的链路状态报文可直接到达B,而B必须将此报文再扩散到C和F,同时B必须向A发送应答报文。类似的,F产生的链路状态报文到达B后,B必须向A和C进行转发,同时B必须向F发送应答报文。
        但是,对于上图中来自E的报文就有所不同。假设B两次收到来自E的报文,一次经过EAB,另一次经过EFB。因此,B只需将E产生的链路状态报文发往C即可,但要向A和F发送应答报文。
        如果重复报文在前一个报文未出缓冲区时到达,表中的标志位就得进行修改。例如,在上图中,当B还未处理完由C产生的链路状态报文,又接收到一个从F传来的C的链路状态报文时,此时应将C行的标志位由101010改为100011,表示要向F发送应答报文,而不必将C的链路状态报文再发向F。
        (5)计算最短路径。由于网络上的每个路由器都可以获得所有其他路由器的链路状态报文,每个路由器都可以构造出网络的拓扑结构图。此时路由器可以根据Dijkstra算法计算出到所有目的节点的最短路径,并把计算结果填到路由器的路由表中。
 
       搜索引擎
        Internet是一个庞大的信息海洋,要想从中找出自己所需的信息并不是一件容易的事,应运而生的搜索引擎可帮了我们的大忙。
        搜索引擎是指为用户提供信息检索服务的程序,通过服务器上特定的程序把Internet上的所有信息分析、整理并归类,以帮助用户在Internet中搜索所需要的信息。当用户通过搜索引擎查找信息时,搜索引擎就会对用户的需求产生响应,并根据查找的关键字检索数据库,最后将与搜索标准匹配的站点列表返回给用户。用户可以从列表中选择需要的网站,单击链接即可进入相应的页面。搜索引擎也是一类网站,它们一般都具备分类主题查询和关键字查询两种功能:
        .按内容分类逐级检索
        分类检索是从搜索首页按照树型的主题分类逐层单击来查找所需信息的方法。
        .使用关键字检索
        关键字检索就是由用户指定一些词语(这些词语称为关键字),搜索引擎自动搜索和这些词语相关的网站,并按照匹配的程度由高到低排列输出给用户。使用关键字检索的核心是如何选择合适的关键字,不同的搜索引擎提供的查询方法并不完全相同。
        对于经常上网查阅资料的用户来说,记住一些好的搜索网站是很重要的,在这里给大家介绍几个常用的搜索网站。
        .http://www.google.com/ google搜索引擎
        .http://dir.sohu.com/搜狐分类搜索引擎
        .http://cn.yahoo.com/中文雅虎
        .http://search.sina.com.cn/新浪搜索
        .http://search.163.com/网易搜索引擎
        .http://www.baidu.com/百度搜索
 
       索引
        在数据库系统中,索引是一种可选结构,其目的是提高数据访问速度。利用索引可提高用户访问数据的速度,或直接从索引中独立检索数据。如果对索引的配置和使用进行了优化,那么索引能大大降低数据文件的I/O操作并提高系统性能。
        但是在为一个表创建索引之后,Oracle将自动维护这个索引。当用户在表中插入、更新或删除记录时,系统将自动更新与该表相关的索引。一个表可以有任意数量的索引,但一个表的索引越多,用户在该表中插入、更新或删除记录时所造成的系统开销也越大。其原因是无论何时更新表,系统都必须更新与之相关的索引。
        索引是建立在表的一个或多个字段之上的。索引的作用大小取决于该字段或字段集的选择性。所谓选择性,是指索引能降低数据集中的程度。如果表中与某个索引相关的字段值各不相同,那么该索引就有很好的选择性。一个选择性很差的索引的例子,是基于字段值仅为true/false的字段创建的索引,因为表中很多记录该字段的字段值都相同。一个索引可能只能帮助管理员降低检索的记录数,而不能惟一地确定一条记录。例如:如果为一个表的LastName字段创建了一个索引,现在用户需要搜索John Smith,那么这个索引将返回LastName字段值为Smith的所有记录,因而用户还不得不在返回的记录中搜索含John的记录。索引的选择性越好,就越有助于降低返回记录的数量,从而提高数据访问速度。下面介绍有效创建和使用索引的技巧和方法。
        . 索引和降低系统处理的数据量。
        索引的主要作用之一就是降低系统处理的数据量。对CPU使用和等待完成I/O操作的时间上,I/O操作引起的系统开销都是非常昂贵的。降低I/O操作可提高系统性能和处理能力。如果不使用索引,那么为了找到特定的数据,系统将不得不扫描表中的所有数据。
        例如如下查询语句:
        
        如果不使用索引,系统必须扫描整个emp表并检查表中每条记录的employee_id字段的值。如果emp表很大,那么这个操作可能意味着数量巨大的I/O读写和很长的处理时间。
        如果为emp表的employee_id字段创建了索引,那么系统将遍历该索引并找到用户所查询记录的ID。找到记录ID之后,只需一条额外的I/O操作就能检索到用户所需的数据。
        用于说明这个问题的最好例子,是只需查找一条记录的情况。在表的每条记录中,类似employee_id这样的字段的值可能在整个表中都是惟一的。这意味着查询结果值返回一条记录,这种查询的效率是非常高的。
        在某些情况下,索引必须返回大量数据。如下面的例子:
        
        这个查询语句很可能返回大量数据,因为索引操作返回了大量记录的ID,并且系统必须独立访问这些记录的ID,所以这种情况下,不使用索引可能比使用索引的效率更高,直接进行表扫描可能效率更高。不同情况下,采用哪种查寻方法更好,很大程度上取决于表的数据量和组织形式。
        对于不同的数据,在某些情况下位图索引可能非常有用,而在另外一些情况下,使用位图索引可能没有任何好处。
        . 索引和更新。
        如果对表创建了索引,那么更新、插入和删除表中的记录都将导致额外的系统开销。在系统提交这些操作之前,系统将会更新所有与该表相关的索引。这可能需要花费很长时间,并额外增加一定的系统开销。
        . 在字段选择性很低的情况下适用索引。
        在某些情况下,表中的某些字段的选择性可能很低。开发人员没必要为所有表创建索引,实事上,在某些情况下索引引起的问题比解决的问题更多。在很多情况下,需要反复试验,才能确定一个索引是否有助于提高系统性能。
        但是,位图索引能在字段选择性不高的情况下工作得很好。一个位图索引可以和其他位图索引联合使用,以降低系统检索的数据集。对于某些值为true/false、yes/no或其他小范围数据的字段,建立位图索引是非常合适的。请记住:位图索引所占用的空间,是随着与该索引相关的字段的不同值的数量的增加而增加的。
        如果决定创建一个索引,那么确定为哪些字段创建索引是非常重要的。对于不同的表,可能会选择一个或多个字段创建索引。可使用如下方法来确定在哪些字段上创建索引:
        ①选择那些最常出现在where子句中的字段。经常被访问的字段最可能受益于索引。
        ②经常用于连接表的字段是创建索引的必然候选字段。
        ③必须注意索引导致的查询语句性能的提高与更新数据时性能的降低之间的平衡。
        ④经常被修改的字段不适合创建索引,其原因是,更新索引将增加系统开销。
        在某些情况下,使用复合索引的效率可能比使用简单索引的效率更高。下面的一些例子说明了应当在何种情况下使用复合索引。
        ①某两个字段单独来看都不具有惟一性,但结合在一起却有惟一性,那么这种情况下,复合索引将工作得很好。例如:A字段和B字段都几乎没有惟一性值,但绝大多数情况下,字段A和B的某个特定组合却具有惟一性特点。那么在检索数据时,可在where子句重视and操作符来将这两个字段连接在一起。
        ②如果select语句中的所有值都位于复合索引中,那么Oracle将不会检索表,而直接从索引中返回数据。
        ③如果多个查询语句的where子句中作为查询条件的字段都不相同,但返回的记录相同,那么应当考虑利用这些字段创建一个复合索引。
        在创建索引之后,开发人员应当定期利用SQL TRACE工具或EXPLAIN PLAN来察看用户查询是否充分利用了索引。很有必要花费一定精力来试验使用索引和未使用索引在效率上的差别,以判断索引所耗费资源是否物有所值。
        应该删除那些不经常使用的索引。可使用alter index monitoring usage语句来跟踪索引的使用情况。还可以从系统表all_indexes、user_indexes和dba_indexes中查询用户访问索引的频率。
        如果为一个不适合创建索引的字段或表创建了索引,那么这可能会导致系统能力的下降。而如果创建的索引合理,那么这将降低系统的I/O操作并加快访问速度,从而大大提高系统性能。
   题号导航      2014年下半年 电子商务设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第53题    在手机中做本题