请详细介绍元搜索引擎
元搜索引擎(metasearchengine)是一种调用其他独立搜索引擎的引擎。“元”(meta)为“总的”、“超越”之意，元搜索引擎就是对多个独立搜索引擎的整合、调用、控制和优化利用。#### 元搜索引擎的特点

第一，涵盖较多的搜索资源，可随意选择和调用源搜索引擎；
第二，具备尽可能多的可选择功能，如资源类型(网站、网页、新闻、软件、FTP、MP3、图像等)选择、返回结果数量控制、结果时段选择、过滤功能选择等；
第三，强大的检索请求处理功能(如支持逻辑匹配检索、短语检索、自然语言检索等)和不同搜索引擎间检索语法规则、字符的转换功能(如对不支持“NEAR”算符的搜索引擎，可自动实现由“NEAR”向“AND”算符的转换等)；
第四，详尽全面的检索结果信息描述(如网页名称、URL、文摘、源搜索引擎、结果与用户检索需求的相关度等)；
第五，支持多种语言检索。#### 元搜索引擎的功能

目前运营的元搜索引擎各具特色，功能各有侧重。完全“理想”的尚不多见。一些元搜索引擎在某些方面较为优秀，而其他功能则欠缺或需改进：如大多元搜索引擎不支持多语种，尤其是汉语检索；一些元搜索引擎实现检索语法转换的能力有限，不支持指定字段检索，不能充分发挥各个独立搜索引擎的高级检索功能；部分元搜索引擎无源搜索引擎列表，用户不能自主选择和调用源搜索引擎；大部分元搜索引擎仅支持调用Alta—Vista、Excite、GoTo．corn、Yahoo!、Infoseek、Lycos等常用的搜索引擎，一些大型搜索引擎如NorthernLight、HotBot等被排除在外，人为地限制了搜索资源的利用；在检索结果上，元搜索引擎只能返回十几、数十条“相关度”较高的结果，大量可能有价值的源搜索引擎的检索结果被忽视，影响检索结果的全面性。元搜索引擎的功能受源搜索引擎和元搜索技术的双重制约：一方面，源搜索引擎各具特色的强大功能在元搜索引擎中受到限制而不能充分体现．而另一方面，任何一种元搜索技术都不能发掘和利用源搜索引擎的全部功能。
1995年华盛顿大学硕士生EricSelberg和OrenEtzioni推出第一个元搜索引擎——Metacrawler以来，这一新型的网络检索工具异军突起，发展迅速，目前可用的元搜索引擎已近百种。尽管元搜索引擎存在着这样那样的功能局限，但其以涵盖较多的搜索资源，能够在尽可能短的时间内提供相对全面、准确的检索结果等诸多优异功能受到用户的青睐，已渐成为一种不可或缺的极具潜力的网络检索工具。#### 元搜索引擎的基本构成

独立搜索引擎根据用户的查询请求，按照一定的算法从索引数据库中查找对应的信息返回给用户。为了保证用户查找信息的精度和新鲜度，搜索引擎需要建立并维护一个庞大的索引数据库。在独立搜索引擎中，索引数据库中的信息是通过一种叫做网络爬虫(Spider)的程序从互联网采集而得到网页。所以一般独立搜索引擎主要由网络爬虫、索引与搜索引擎软件等部分组成。
与独立搜索引擎相比，元搜索引擎不需要维护庞大的索引数据库，也不需要网络爬虫去采集网页。具体说来，元搜索引擎主要由三部分组成(如图所示)：请求提交代理、检索接口代理、结果显示代理。

请求提交代理负责实现用户个性化的检索设置要求，包括调用哪些搜索引擎、检索时间限制、结果数量限制等。检索接口代理负责将用户的检索请求“翻译”成满足不同搜索引擎“本地化”要求的格式。结果显示代理负责所有源搜索引擎检索结果的去重、合并、输出处理等。

1．请求提交代理

请求提交代理负责将用户的请求分发给独立搜索引擎。一般的元搜索引擎设定了它所调用的独立搜索引擎。有些元搜索引擎让用户自己选择所用的搜索引擎。还有一种通过分析用户的兴趣和网络的实际情况来选择搜索引擎，这有利于提高用户查询的准确度和对用户的响应速度。

2．检索接口代理

由于不同的搜索引擎所支持的查询方式不同，如有些搜索引擎支持stemming(词干法)方式。即便是同一种方式，也有不同的表达方法，所以必须将元搜索引擎中的查询请求映射到对应的搜索引擎中，而且不能丢失语义信息。

3．结果显示代理

元搜索引擎的结果一般由网页标题、内容摘要、所指网页的URL、相关度、信息返回时间、所采用的引擎标志等组成。这些搜索结果是多个独立搜索引擎的并集。元搜索引擎的结果应该具有多种排序方式以满足不同用户的需要。元搜索引擎常用的排序方式有：相关度排序、时间排序、域名分类排序、搜索引擎排序等。
元搜索引擎把用户的查询串分配给几个指定的独立搜索引擎，再将各独立搜索引擎所得的结果分级排序，删去重复内容，然后给出查询结果。也就是说元搜索引擎是建立在独立搜索引擎之上的搜索引擎。#### 元搜索引擎的分类

元搜索引擎有多种分类方式，在数据处理方面，元搜索引擎分为并行处理式和串行处理式两大类。并行处理式元搜索引擎将用户的查询请求同时转送给它调用链接的多个独立型搜索引擎进行查询处理，串行处理式元搜索引擎将用户的查询请求依次转送给它调用链接的每一个独立型搜索引擎进行查询处理。
按功能划分，元搜索引擎包括多线索式搜索引擎和A11-in-One式搜索引擎；按运行方式的差异可分为在线搜索引擎和桌面搜索引擎。
根据请求提交代理、检索接口代理和结果显示代理的复杂程度，可以将元搜索引擎分为简单元搜索引擎和复杂元搜索引擎；根据请求提交代理、检索接口代理和结果显示代理所在位置的不同，又可将复杂元搜索引擎分为桌面型元搜索引擎和基于Web的元搜索引擎。

(1)简单元搜索引擎。

简单元搜索引擎实际上并不能称为搜索引擎，它只是给用户提供一个搜索引擎列表，用户可以选择所用的搜索引擎。用户输入查询请求，然后直接以CGI方式调用对应的搜索引擎。由于具体搜索引擎是由用户选择的，而且查询请求只能发送给一个搜索引擎，所以请求提交代理和检索接口代理的设计就非常简单，可以直接设计在静态网页中。简单元搜索引擎不进行搜索结果的处理，这就省去了图中的结果集成代理。其实将简单元搜索引擎叫做搜索引擎列表更为恰当。

(2)桌面型元搜索引擎。

桌面型元搜索引擎以程序的方式提供给用户。它运行在用户的机器上，用户的查询请求直接由用户端分发给它所调用的搜索引擎，然后对返回的搜索结果进行集成后以一定的方式显示。对桌面型元搜索引擎来说，图中的请求提交代理、检索接口代理和结果显示代理都在客户端。

(3)基于Web的元搜索引擎。

基于Web的元搜索引擎以Web方式为用户提供元搜索服务。请求提交代理、检索接口代理和结果显示代理都存放在元搜索引擎所在的服务器端。在这种方式中，用户的元查询请求经过服务器端的请求提交代理和检索接口代理将查询请求分发给它所调用的独立搜索引擎，这些独立搜索引擎返回的搜索结果由服务器端的结果显示代理处理后再返回给用户。由于Web易用性的特点，基于Web的元搜索引擎使用更为广泛。#### 元搜索引擎的工作过程

用户通过www服务访问元搜索引擎，并向Web服务器提出检索式，当Web服务器收到查询任务时，首先访问结果数据库，看在近期是否有相同的检索，如果有则直接返回保存的结果，完成查询；如果没有，就将检索式进行处理，分析并转化成与所要查找的搜索引擎相应的检索式格式，然后送至Web处理接口部分。Web处理接口通过并行的方式同时查询多个搜索引擎，集中所有的查询结果。根据各引擎的重要性，以及所得结果的相关度，通过算法对结果进行抽取和排序，并生成最终结果网页返回给用户。与此同时，将此次结果保存在结果数据库中，以备下次查询参考。这就是整个元搜索引擎的服务过程。
其中对于结果数据库中记录的处理，要指定一个生存期，也就是超过一定时间的检索结果要予以剔除，以保证检索的时效性。需要指出的是，首先由于大部分搜索引擎互不兼容，相互操作性差，而且用户接口不一致，使得检索式处理非常复杂；这不仅要求精确掌握各个搜索引擎在查询时调用CGI的格式，还要做到将当前检索式转化成相应的格式。其次，由于不同搜索引擎反馈的结果页面格式相差很大，对于这些页面的处理难度也相当大，一方面要解析页面找到的查询结果，同时还要能够把这些结果的内容抽取出来，目前采用最多的是固定查找和智能判断相结合的策略。
作为一个元搜索引擎，如何能够将获取的信息按照相关度进行排序也是非常复杂的问题，因为不同搜索引擎在本身查询结果的排序过程中采用的算法相差很大，甚至有些未知的算法，而元搜索引擎必须结合这些使用不同排序算法产生的结果，并以统一的结果形式返回给用户。这些都是在研究元搜索引擎中遇到的难点，也是能否成功实现一个元搜索引擎的关键。