通过使用页类别信息分散搜索引擎结果的制作方法

文档序号:6627228阅读:152来源:国知局
专利名称:通过使用页类别信息分散搜索引擎结果的制作方法
技术领域
本发明涉及在数据通信网络上搜索电子文档形式的有关数据的领域。更具体而言,本发明的实施例涉及根据在搜索中找到的电子文档的类别来分散搜索结果。
(2)背景技术因特网有分布在大量计算机上的大量信息,因而向用户提供大量各种主题的信息。对于诸如内联网和外联网等许多其它通信网络来说这也是真实的。尽管在网络上有大量信息可用,然而找到期望的信息可能并不简单或快捷。
已开发了搜索引擎,来解决在网络上寻找期望信息的问题。一种常规搜索引擎包括爬虫软件(crawler)(也称为蜘蛛软件(spider)或蝇蛆软件(bot)),它在网络上访问电子文档、“阅读”它、随后沿着链接到网站内的其它电子文档。爬虫软件定期返回到该网站以寻找变化。索引是搜索引擎的另一个部分,它存储关于爬虫软件所找到的电子文档的信息。响应于一个或多个用户指定的搜索词,搜索引擎返回该搜索引擎判定为包括涉及用户所指定的搜索词的电子文档的网络位置(例如,统一资源定位器(URL))列表。某些搜索引擎提供信息的类别(例如新闻,web,图像,等等)以及在那些类别内的类别供用户选择,因而用户可集中在这些类别中某关注的区域。
搜索引擎软件通常根据察觉到的相关性,对满足所提交的搜索请求的电子文档进行分级,并提供了依照其等级向用户显示搜索结果的手段。一种典型的相关性分级是对位于一给定网络位置的电子文档与其它电子文档相比,涉及用户指定搜索词的似然性的相对估算。例如,常规搜索引擎可基于特定搜索词在电子文档中出现的次数,及其在该电子文档中的位置(例如,通常认为出现在标题中的词比出现在电子文档结尾处的词更重要)来提供相关性分级。链接分析、锚一文本分析、网页结构分析、使用关键词列表,以及URL文本是对网页及其它超链接文档进行分级的其它已知技术。
当前可用的搜索引擎通常局限于根据觉察到的等级来显示搜索结果。不幸的是,这可能向用户提供了不足的信息,因为等级最高的结果可能全部落入单个信息类别中。例如,许多产品的名称具有一个以上的意思(以行星命名汽车、以水果命名个人计算机等等)。对于用户来说,第一页搜索结果的价值可能取决于该用户是对例如土星还是同名的汽车的信息感兴趣。结果是,用户常常需要细化查询或阅读数页搜索结果,因为在第一页上显示的结果中太多涉及单个主题或类别。
因而,存在对于独立于常规分级在单页搜索结果上显示涉及各种主题或类别的搜索结果的搜索引擎的需求。通过显示这一分散的搜索结果,用户能在第一页结果上查看各种结果。
(3)发明内容本发明的实施例通过提供对数据通信网络上相关数据的改进搜索等等,克服了现有技术的一个或多个不足。通过响应于搜索请求在第一页搜索结果上向用户显示各种搜索结果,本发明使用户能更容易地在网络上定位相关文档。具体地,本发明的一个实施例按类别分散搜索结果,使得用户可在第一页搜索结果上容易地查看不同类别的搜索结果。通过按类别分散搜索结果,用户无须滚动或转到下一页搜索结果,即可查看各种类别中的结果。并且,通过在第一页搜索结果上按类别分散搜索结果,用户将能够更容易地识别相关结果,并且因而将有更愉快和高产出的搜索体验。此外,此处所描述的本发明的各特征比起当前可用的技术来说,较不艰巨并更易于实现,且在经济上是可行的,在商业上是实际的。
根据本发明的一个方面,提供了一种生成搜索结果的方法。该方法包括从用户接收搜索请求。该方法还包括根据接收到的搜索请求查询可搜索的索引,来识别可能与该搜索请求相关的电子文档。该索引包含与多个电子文档相关联的数据。该文档数据指定与每个电子文档相关联的一个或多个类别。该方法包括根据与所识别的电子文档相关联的一个或多个类别对所述查询的结果进行分类。该方法还包括向用户显示所分类的结果,从而在单页上向用户显示不同类别的一个或多个所识别的电子文档。
根据本发明的另一方面,一种计算机可读介质包括用于生成搜索结果的计算机可执行指令。搜索形式组件从用户接收搜索请求。搜索引擎组件根据接收到的搜索请求查询可搜索的索引,来识别可能与搜索请求相关联的电子文档,并用于对所述查询的结果进行分类。该索引包含与多个电子文档相关联的文档数据。该文档数据指定与每个电子文档相关联的一个或多个类别。结果根据与所识别的电子文档相关联的一个或多个类别来分类。用户界面组件向用户显示经分类的结果,从而在单页上向用户显示不同类别中的一个或多个所识别的电子文档。
根据本发明的另一方面,提供了一种响应于经由客户机计算机从用户接收到的搜索请求来生成搜索结果的系统。该系统包括用于经由客户机从用户接收搜索请求的第一服务器。该第一服务器经由通信网络耦合至客户机。该系统还包括一索引,该索引包含与多个电子文档相关联的文档数据。该文档数据指定与每个电子文档相关联的一个或多个类别。所述第一服务器被配置成根据所接收的搜索请求查询该索引,来识别可能与该搜索请求相关的电子文档,并对所述查询的结果进行分类。结果根据与所识别的电子文档相关联的一个或多个类别来分类,用于向位于客户机处的用户显示,从而在单页上向用户显示不同类别中的一个或多个所识别的电子文档。
根据本发明又一方面,提供了其上存储了可搜索数据结构的一个或多个计算机可读介质。第一字段用于存储表示与位于网络上的电子文档相关联的搜索引擎索引词的数据。该索引词被包括在该电子文档内。第二字段用于存储表示与该电子文档相关联的类别的数据。第三字段用于存储表示该电子文档在网络上的位置的数据。包括在第二字段中的文档数据是根据第一字段来索引的,从而将一个或多个类别与该索引词相关联,且包括在第三字段中的文档数据是根据第二字段来索引的,从而将电子文档的一个或多个位置与一个或多个类别的每一个相关联。
(4)


图1所示是其中可使用本发明的示例性网络环境的框图。
图2所示是根据本发明的一个实施例用于填充索引的系统的组件的框图。
图3所示是根据本发明的一个实施例的系统的组件的框图,该系统用于按照类别分散搜索结果,以供在第一页上搜索结果上显示。
图4示出搜索结果页的示例性屏幕截图。
图5所示是根据本发明的一个实施例的方法的示例性流程图,该方法用于按类别分散搜索结果,以供在第一页搜索结果上向用户显示。
图6所示是其中可实现本发明的适当的计算系统环境的示例性实施例的框图。
在全部附图中,相应参考字符指相应部分。
(5)具体实施方式
现参考附图,图1示出其中可使用本发明的示例性网络环境100。客户机102被耦合至诸如因特网(或万维网)的数据通信网络104。一个或多个服务器用诸如超文本传输协议(HTTP)等协议,经由网络104与客户机102通信,HTTP是一种在因特网上常用的,用于交换信息的协议。在示出的实施例中,前端服务器106及后端服务器108(例如web服务器或网络服务器)被耦合至网络104。客户机102使用网络104、前端服务器106及后端服务器108来访问例如存储在一个或多个服务器节点110上的网页数据。以此方式,客户机102可经由网络104,来请求对由一个或多个服务器节点110维护的网页数据的访问。
本发明的实施例通过允许响应于用户指定的搜索请求在单页搜索结果上向用户114显示各种搜索结果,提供了对于数据通信网络上相关数据的改进搜索。具体地,本发明的一个实施例按类别分散搜索结果,从而用户114能容易地在第一页搜索结果上查看不同类别的搜索结果。通过按类别分散搜索结果,用户114无须滚动或转到下一页搜索结果,即可查看各种类别内的结果。并且,通过在单页(例如,第一页)搜索结果上按类别分散搜索结果,用户将能够更容易地识别相关结果,并因而将有更愉快和高产出的搜索体验。
在此实施例中,用户114用客户机102来输入搜索请求,该请求包括一个或多个关于特定关注主题的词,用户114想要识别讨论和/或涉及该特定关注主题的电子文档(例如网页)。例如,前端服务器106响应于客户机102,以认证用户114及将来自经认证用户的请求重定向到后端服务器108。
后端服务器108响应于经重定向的搜索请求等,以向一个或多个附属节点服务器110提交查询(每个附属节点服务器链接到包含关于诸如网页等可经由因特网获得的电子文档的信息的中央数据索引(索引)116),来检索可能与用户有关的电子文档(即搜索结果)的数据。并且,每个节点服务器110可包括高速缓冲存储器(未示出),用于存储之前检索的文档数据(即网页数据112)。如在下面参考图2详细解释的,索引116包括关于电子文档的数据,诸如位置(例如链接或URL)、元标签、文本及文档类别。在图1的例子中,在按类别分散从一个或多个附属节点服务器110检索到的搜索结果,及经由客户机102向用户114显示经分散的搜索结果的上下文中描述本发明。值得注意的是,尽管前端服务器106和后端服务器108被描述为网络环境中的不同组件,然而可以理解,单个服务器可以执行两者的功能。
本发明使用搜索引擎应用程序(应用程序)118,该应用程序由后端服务器108执行,以响应于从客户机102接收的搜索请求识别各类别内的网页等(即电子文档)。更具体地,应用程序118从对应于包括在搜索请求中的一个或多个词的索引116,识别各类别内的相关网页,并每个所识别的类别识别最相关网页,以经由客户机102向用户114显示。例如,如果用户输入(即搜索请求)定义词“apple(苹果)”,搜索引擎应用程序118可在水果类别和Apple计算机类别中分散结果。通过经由归类来分散结果,并从每个类别中选择若干最好结果(即,最相关)来显示,允许用户114在单页搜索结果上查看与各种不同类别相关联的最相关网页。
现参考图2,框图示出示例性计算机网络200的组件,该网络用于填充索引116,本发明访问该索引来检索各类别内的搜索结果,以在单页搜索结果上显示。
在一个实施例中,取数服务器(fetching server)204响应于种子数据206来执行取数模块208,以从各个可经由因特网(或万维网)104访问的web服务器210检索诸如网页等HTML文档。如本领域技术人员所知的,种子数据206可包括一URL列表,其每一个都标识维护一个或多个HTML文档的特定web服务器210的位置。取数模块208用种子数据206(即种子URL)来启动网络104(例如万维网)爬行(crawl)。如本文中所使用的,术语“爬行”指检索和分析由种子数据206标识的网页上的内容的过程。例如,在爬行过程中,包括在每个检索到的网页中的URL由取数模块208识别,并用于访问及分析附加网页上的内容。
由于可经由因特网获得的网页的庞大数量,可使用执行取数模块208的多个取数服务器204来检索和分析web网页的内容。例如,可通过域散列来将一组取数服务器204分区。域散列指URL的归一化形式。例如,URL“http//www.a.com/services”被转换为“httpwww.a.com80”。例如,随即可取此串的10字节散列,且散列串内的特定字节(例如80)用于确定哪个取数服务器将处理散列的该特定分区。换言之,每个取数服务器205负责域散列空间的一个分区。例如,如果有四(4)个取数服务器204,且整个域散列空间的值范围是1-400,则分区可如下分解取数服务器1低散列1高散列100取数服务器2低散列101高散列200取数服务器3低散列201高散列300取数服务器4低散列301高散列400因而,在URL转换为“httpwww.a.com80”的情况下,将此特定URL重新分配给取数服务器#1。其后,取数模块208将检索到的电子文档传递给索引构造器模块214。
索引构造器模块214响应于接收到的网页,并可由取数服务器204执行,以对每个检索到的网页的内容进行语法分析来识别文档数据,并为每个接收到的电子文档创建和维护经所识别的文档数据的索引116。在此实施例中,索引116存储于服务器204的存储器216内,且包括各类所识别的数据结构及其模式的有组织的列表。例如,索引构造器214包括特征提取工具217,用于对所获的电子文档进行语法分析以检测结构化数据(例如URL、单词、元标签等等),并向存储器216内的索引116增量地添加表示检测到的结构化数据的索引词。值得注意的是,尽管索引116在上文被描述为在服务器204上的存储器216中维护,然而可构想,索引可在与远程服务器相关联的外部存储介质上维护。
类别工具218被链接到索引116,并根据经语法分析的内容(即所识别的文档数据)及诸如开放式目录项目(ODP)之类的一个或多个外部数据源或关于之前已归类的网页的索引数据,为每个检索到的网页标识一个或多个类别。
如本领域技术人员所知,ODP是最广泛分布的人工分类内容数据库。例如,假设ODP将具有URL www.gs.com的网页分类到商业→金融之下,并将具有URLwww.gs.com/venturecapital/的网页分类到商业→金融→企业家之下。如果给予类别工具218 URL www.gs.com/venturecapital/foo/bar.html进行分类,它将先查询外部数据源和/或索引来寻找匹配URL。如果未找到URLwww.gs.com/venturecapital/foo/bar.html,类别工具218将随即查询外部数据源和/或索引来寻找www.gs.com/venturecapital/foo。最后,如果未找到www.gs.com/venturecapital/foo,类别工具218将检查www.gs.com/venturecapital,并向该网页(即www.gs.com/venturecapital/foo/bar.html)分配类别商业→金融→企业家。www.gs.com自己有一个类别是可能的。较短URL有不同类别也是可能的。例如,www.gs.com可能只是商业→金融。在一特定页被归类后,在索引116内维护为该特定页所标识的类别信息。在索引中指定的所标识数据的类型还可包括文档来源(即URL)、单词、元标签、超文本传输协议(HTTP)报头中返回的文档数据、资源描述框架(RDF)数据。随同所标识类别一起的可以有分配给该类别的置信度级别。例如,关于夏威夷的旅行页可能有置信度为80%的类别“娱乐\旅行”,及置信度为75%的类别“美国\州\夏威夷”。
分级工具220为特定类别内的文档计算相关性等级。在一个实施例中,分级引擎使用一个或多个基于学习的分类器来确定文档相对于选定类别或主题(诸如汽车)的一个或多个等级,随后将各结果组合以生成总分类和/或等级。各种基于学习的分类器可用于对文档进行分级。此类分类器的例子包括,但不限于,决策树、神经网络、贝叶斯网络、及诸如在共同转让的美国专利第6,192,360中所描述的支持矢量机,该申请的全部公开内容通过引用结合于此。特定文档相对于特定类别所确定的等级可用于在索引内组织文档。
索引116可遍及许多附属服务器224(例如数以百计的附属节点服务器110)而分布,因为单个计算机可能没有足够的存储器来存储大索引。因而,索引116可作为一个或多个文件(例如文档)存储在多个计算机上。此外,每个服务器224(或服务器110)可包括索引116的一个子集。例如,索引116可列出10亿个网络位置,其中网络位置1-1000列在存储于第一附属服务器上的子索引222中,网络位置1001-2000列在存储于另一附属服务器上的第二子索引222中,依此类推。这些文件随后可被串接或链接成一网络位置的长列表,从而这些文件可被当作单个大文件。响应于搜索请求,搜索处理器随即在包括索引116的子集的计算机上发布查询。
在本发明的一个实施例中,索引构造器214例如基于列出的索引词将索引116分区以向各服务器224分发。从而,如果已知索引词在这些文件内的分区,即可确定特定索引词出现的特定文件,即使此索引词出现在一个以上文件中。在本发明的一替换实施例中,索引构造器214可随机或半随机地将索引116分发到各服务器224。对索引116的随机或半随机的分发可提供各查询处理器间的有效负载平衡。可防止特定查询处理器因为例如常用词搭配而比其它查询处理器处理多很多的查询。因而,通过随机或半随机地分发索引116,可在各查询处理器间更平均且可预测地划分查询处理。
为遍及多个服务器而分布索引116,索引构造器214将索引116划分成块。特别地,索引构造器214通过将从检测到的结构化数据确定的索引词编译为索引块,并将各块分发到各计算机,来创建索引116。索引构造器214周期性地将新索引块堆栈到索引116中。即,索引构造器214周期性地(例如1分钟5次)将较小的、增量索引片段并入较大的索引116中。
在本发明的一个实施例中,为了将表示更新的数据(即,早先获得并经语法分析的电子文档可包括新的或更新的结构化数据)的新索引块并入索引116中,索引构造器214首先提取新块。随后,索引构造器214在该组新块内检测到第一索引词。索引构造器再将该组新块上与此索引词相关联的各网络位置及属性组合成单个列表。索引构造器214随后将此列表插入到新的索引文件中。并且,当其将新索引块并入索引116时,索引构造器214周期性地从可更新索引116中移除旧的索引块。此外,在索引构造器214并入新索引块前,这些新块可能无法用于查询处理器的查询。但在索引构造器214将新块并入索引116后,新合并的索引116可用于查询。为了在查询时帮助确定两个页是否等同并消除重复,将使用卵石纹(shingle print)。卵石纹是由6个16位无符号值组成。每个16位值表达两个文档间的实质句法相似性。例如,当两个文档间底层的相似性大于95%时,6个卵石中的4个总会匹配。
现参考表格1,示出包括在示例性索引116中的文档数据。
表1如上面参考图1和2所描述的,索引116包含关于在爬行过程中识别的多个电子文档的文档数据。每一列(C1-C5)对应于特定电子文档的各个数据字段的值。每一行(R1-R5)对应于一特定电子文档。在此例中,索引包括一唯一索引词(即单词)列表。接着该唯一索引词后面的是一类别标识符(类别ID)列表,其每一个都代表一特定类别,具有该唯一索引词的电子文档被分配到该类别。类别ID是唯一地标识特定类别的指定字节值(例如4字节)。唯一类别ID可用于查询或聚合目的。例如,由诸如ODP等类别数据源分配的每一类别也被分配唯一类别ID。例如,表1中所列出的值为2的类别ID对应于水果类别(例如,见位于表1中R1和C2的单元格;以下称作R1C2)。在一个实施例中,索引116被链接到包含类别名及其对应类别ID的列表的查找表。因而,给定类别ID,索引构造器214响应于搜索请求来查询该表,并快速检索特定类别ID的类别名。此外,给定类别ID,索引构造器214能识别该类别的所有父类别及该类别的所有子类别。例如,参考上面参考图1所讨论的例子,如果用户输入对应于属类别“商业→金融→”的网页的搜索词,则搜索引擎应能显示诸如商业→金融→抵押等所有来自此类别的各子类别的结果。
作为另一个例子,如果响应于初始搜索词所检索到的搜索结果在类别汽车→Saturn内,则用户可选择查看类别汽车→Saturn下的更多结果的选项。在此例中,分散在Saturn下的子类别层上发生。子类别可包括二手车、经销商、维修、型号细节等。相反,当用户输入Saturn作为初始搜索词,分散在顶层发生,并且因为类别在顶层不同,所以检索到不同的搜索结果。例如,结果可以在类别汽车→Saturn、科学→行星→土星或娱乐→星相→星座等之下。换言之,取决于查询词,用户能看到顶层类别或子类别的搜索结果。结果是,允许用户缩小搜索结果或滤出类别,从而以分散的格式向用户示出各关注类别内的搜索结果。
类别ID之后可以是出现唯一索引词的具有类别ID的电子文档的文档ID列表。文档ID可以是URL或代表该URL的域散列的形式。此外,文档ID之后可以是由该文档ID代表的电子文档的索引词的属性列表。此类属性可用于确定搜索结果中电子文档的相关性等级。例如,相关性等级可对应于特定文档相对于特定类别的相关性等级属性,如由分级工具220所确定的。此外,文档ID属性之后可以是内容块数据,该数据对应于由索引116维护的每一特定文档ID的上下文描述或摘录。即,内容块数据包括又文档ID标识的每一网页的摘要描述信息,以通过显示器向用户显示。
如表1所示,索引116的示例性部分包括索引词“Apples”(见R1C1)。此索引词之后是存在对应于索引词“Apples”的文档数据的类别ID的列表。在此例中,类别ID值2和4(分别见R1-R3C2及R4-R6C2)对应于词“Apple”。每个类别ID之后是具有特定类别ID的电子文档的文档ID列表,对应于该特定索引词的文档数据存在于该电子文档中。结果是,可根据对应于在索引中列出的特定词的每一类别ID来对文档ID进行分组。例如,对应于索引词“State-Washington”的文档数据存在于具有文档ID 307、308和315的电子文档中。表1中还示出,索引116的示例性部分包括后面跟着类别ID列表的索引词“Saturn”,每个类别ID后都跟着出现对应于此索引的文档数据的电子文档的文档ID列表。
接下来参考图3,示例性框图示出根据本发明的一个实施例的客户机102、应用程序服务器304(例如后端服务器108)及一个或多个附属服务器110的组件。
客户机应用程序306允许用户114经由通信网络104从服务器304检索HTML文档。客户机应用程序306可由客户机102执行,并响应于要初始化对此类HTML文档(即web表单)310的检索的用户输入数据。本领域技术人员应当理解,客户机应用程序306可以是诸如由微软公司提供的Internet Explorer浏览器等的web浏览器。用户114通常使用客户机应用程序306来联系服务器304,以检索接受来自用户114的数据的web表单310。
链接到客户机102的用户界面(UI)314允许用户114与检索到的web表单310交互。例如,UI314可包括诸如计算机监视器等用于查看web表单310的显示器316,及诸如键盘或定位设备(例如,鼠标、跟踪球、笔或触摸垫)等用于如319所示将数据输入到web表单310中的输入设备318。换言之,UI314允许用户114在家里的客户机上定义搜索数据,并允许用户114向服务器304递交请求,以在由每个附属服务器110维护的索引数据112(或子索引数据222)中搜索所定义的数据。
在此示例性实施例中,应用程序服务器304既认证用户请求,又向经认证用户提供web资源和/或服务(例如,担当前端服务器106和后端服务器108)。搜索引擎应用程序322响应于用户搜索请求,并可由应用程序服务器304执行以向由每个附属服务器110维护的索引数据112查询匹配所定义的搜索数据的文档数据。例如,使用客户计算机102的用户将词“apples”输入到web表单,并向服务器304提交对词“apple”的搜索请求。搜索引擎应用程序322包括用于查询在索引数据112中列出的索引词的查询指令324,以识别与由用户定义的搜索数据相匹配的索引词。如果找到匹配的索引词,则搜索引擎应用程序322执行检索指令325,以从该索引中检索相应类别ID数据、文档ID数据、属性数据及内容块数据。搜索引擎322包括用于在显示器316上向用户显示诸如图4中所示的搜索结果表单的分散指令326。所显示的搜索结果包括关于由对应于匹配的索引词的特定文档ID标识的电子文档的摘要描述信息(即内容块数据)在一个实施例中,分散指令326生成搜索结果表单,其中显示了在接近匹配索引词的索引中列出的每一类别ID的预定数量的文档ID的内容块数据。举例来说,对于搜索词“apple”,分散指令326可为下面与词“apple”相关联各类别的每一个生成最多显示5个链接的表单328商业或制造业(例如Apple计算机)、烹饪食谱、科学/健康、及农业。再次参考表1,所生成的搜索结果表单可包括诸如在图1中所示的索引中列出的摘要描述数据之类的内容块数据。此外,为被识别为具有匹配词的每个电子文档所显示的链接和/或内容数据可根据特定类别在列表中分组,并根据与列出的接近对应于该特定类别的类别ID的每个文档ID相关联的相关性等级来组织。例如,对于搜索词“apple”,具有摘要描述“苹果和更多苹果脯”的电子文档将出现在涉及水果类别(即类别ID=2)的分组列表的顶部,具有摘要描述“苹果与苹果的营养烹饪”的电子文档将在此特定分组中下一个出现,具有摘要描述“简单水果色拉”的电子文档将出现在此特定分组的底部。因而,即使用户114定义的搜索词与各种各样的类别相关联,来自不同类别的最佳结果会在搜索结果的第一页上提供给用户,从而用户可容易地识别期望的结果。
在另一实施例中,在搜索结果表单上向用户114显示的搜索结果的数量是在接近匹配索引词的索引数据112中列出的类别ID(即类别)的数量的函数。例如,如果共列出3个接近匹配索引词的类别ID,将经由搜索结果表单向用户114显示对应于具有前1/3(33.33%)相关性等级值的文档ID的内容块数据。换言之,即使由用户定义的搜索词与各种各样的主题(即类别)相关联,在单页搜索结果上向用户114提供来自不同类别的结果,从而用户可容易地识别期望的结果。
在又一实施例中,搜索引擎应用程序322包括广告检索指令330。广告检索指令330响应于检索到的类别ID数据,并可由应用程序服务器304执行,以向第三方数据源322查询涉及一个或多个所识别类别的广告信息,以在搜索结果表单上向用户显示。例如,如果类别ID数据指定汽车类别,则广告指令330查询第三方数据源,并显示涉及汽车制造商的广告标题。作为另一例子,再次参考表1,如果匹配索引词为“Saturn”(见R1C10),对应类别ID数据字段之一的值为“7”(见R2C10),在此例中,该值指示汽车类别。广告指令330可显示Saturn汽车经销商的广告信息。
接下来参考图5,示例性流程图示出一种按类别分散搜索结果以在单页搜索结果上向用户显示的方法。在502,诸如搜索引擎应用程序118等应用程序从用户114接收搜索请求。该搜索请求由用户定义,并指定可能出现,或可期望出现在可经由因特网获得的一个或多个期望网页中的一个或多个词(例如,单个单词、多个单词)。在504,搜索引擎应用程序118查询存储包括多个已知网页的索引词的文档数据的索引116,以识别具有匹配指定索引词的索引词的一个或多个已知网页。在506,搜索引擎应用程序118为经识别的一个或多个网页的每一个,从所存储的文档数据中识别类别和文档位置。在508,搜索引擎应用程序118为所识别的一个或多个文档的每一个,从所存储的文档数据中确定分级或等级值。该分级,或等级值,表示特定的所识别文档与特定的所识别类别的相关性。在510,该过程从所存储的文档数据中识别摘要描述,以作为每个所识别文档的搜索结果来显示。在512,搜索引擎应用程序118分散搜索结果,使得例如,在第一页搜索结果上向用户显示每个所识别类别的预定数量的搜索结果。换言之,在第一页搜索结果上,为每个所识别类别显示一组搜索结果。搜索结果还可包括根据一公共识别类别分组的所识别文档位置(例如文档ID),以随摘要描述一起呈现给用户。在一个较佳实施例中,分组的搜索结果被组织,使得以按照其相应等级值的序列来组织在特定类别分组中显示的每一文档ID和/或摘要描述。
现参考图6,示出计算机130形式的通用计算设备的一个例子。在本发明的一个实施例中,诸如计算机130等的计算机适用于本文示出及描述的其它图。计算机130有一个或多个处理器或处理单元132及系统存储器134。在示出的实施例中,系统总线136将包括系统存储器134在内的各种系统组件耦合到处理器132。总线136代表若干类型总线结构的任意一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口、及使用各种总线体系结构的任一种的处理器或局部总线。作为示例,而非限制,此类体系结构包括工业标准体系结构(ISA)、微通道体系结构(MSA)、增强ISA(EISA)、视频电子技术标准协会(VESA)局部总线、外围部件互联(PCI)总线(但也称Mezzanine总线)。
计算机130通常有至少某种形式的计算机可读介质。包括易失性和非易失性介质、可移动和不可移动介质的计算机可读介质可以是可由计算机130访问的任何可用介质。作为例子而非限制,计算机可读介质包含计算机存储介质与通信介质。计算机存储介质包括以任何方法或技术实现的、用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等的信息的易失性和非易失性、可移动和不可移动介质。例如,计算机存储介质包括RAM、ROM、EEPROM、闪存或其它存储器技术,CD-ROM、数字多功能盘(DVD)或其它光盘存储,磁带盒、磁带、磁盘存储或其它磁存储设备,或可用于存储期望信息、并可由计算机130访问的任何其它介质。通信介质通常在诸如载波或其它传输机制等的已调制数据信号中包含计算机可读指令、数据结构、程序模块或其它数据,还包括任何信息传输介质。本领域的技术人员熟悉已调制信号,其一个或多个特性按在信号中编码信息的方式设置或改变。诸如有限网络或直线链接的有线介质,及诸如声学、RF、红外及其它无线介质的无线介质是通信介质的例子。以上任何的组合也包括在计算机可读介质的范畴之内。
系统存储器134包括可移动和/或不可移动、易失性和/或非易失性形式的计算机存储介质。在示出的实施例中,系统存储器134包括只读存储器(ROM)138和随机存取存储器(RAM)140。包含诸如在启动时帮助在个人计算机130内部各元件间传递信息的基本例程的基本输入/输出系统142(BIOS)储存在ROM 138中。RAM 140通常包含可由处理单元132立即访问和/或当前正在操作的数据和/或程序模块。作为例子,而非限制,图6示出了操作系统144、应用程序146、其它程序模块148,及程序数据150。
计算机130还可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。例如,图6示出读或写不可移动、非易失性磁介质的硬盘驱动器154。图6还示出读或写可移动、非易失性磁盘158的磁盘驱动器156,以及读或写诸如CD-ROM或其它光介质等的可移动、非易失性光盘162的光盘驱动器162。可用于示例性操作环境的其它可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM、等等。硬盘驱动器154、磁盘驱动器156和光盘驱动器160通常由诸如接口166等的非易失性存储器接口连到系统总线136。
上面讨论并在图6中示出的驱动器或其它大容量存储设备及其相关联的计算机存储介质为计算机130提供了计算机可读指令、数据结构、程序模块及其它数据的存储。例如,在图6中,示出硬盘驱动器154存储了操作系统170、应用程序172、其它程序模块174、及程序数据176。注意这些组件与操作系统144、应用程序146、其它程序模块148、及程序数据150可以相同或相异。这里给操作系统170、应用程序172、其它程序模块174、及程序数据176不同的标号来示意它们至少是不同的副本。
用户可通过诸如键盘180和定位设备182(例如鼠标、追踪球、笔或触摸垫)等的输入设备或用户界面选择设备将命令和信息输入到计算机130内。其它输入设备(未示出)可包括话筒、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些及其它输入设备通过耦合到系统总线136的用户输入接口184连到处理单元132,但也可通过诸如并行端口、游戏端口、或通用串行总线(USB)等其它接口和总线结构连接。监视器188或其它类型的显示设备也经由诸如视频接口190等的接口连到系统总线136。除了监视器188之外,计算机常包括诸如打印机或扬声器等的其它外围输出设备(未示出),它们可通过输出外围接口(未示出)连接。
计算机130可使用到诸如漫游客户机194等的一个或多个漫游客户机的逻辑连接在联网环境中操作。漫游客户机194可以是个人计算机、服务器、路由器、网络PC、对等设备或其它普通网络节点,且通常包括对于计算机130所描述的许多或全部元件。图6中描绘的逻辑连接包括局域网(LAN)196和广域网(WAN)198,但还可包括其它网络。诸如此类的网络环境常见于办公室、企业范围计算机网络、内联网及全球计算机网络(例如因特网)。
当用于局域网环境中时,计算机130通过网络接口或适配器186连到LAN196。当用于广域网环境中时,计算机130通常包括调制解调器178或通过诸如因特网等的WAN198建立通信的其它装置。可以为内置或外置的调制解调器178经由用户输入接口184或其它适当机制连到系统总线136。在联网环境中,对于计算机130所描绘的程序模块或其部分,可存储在远程记忆存储设备中(未示出)。作为例子,而非限制,图6将远程应用程序192示为驻留在存储器设备上。应当理解,所示网络连接是示例性的,且可使用在各计算机间建立通信链路的其它装置。
一般而言,计算机130的数据处理器是通过指令来编程的,这些指令在不同时刻存储在计算机的各种计算机可读存储介质内。程序和操作系统通常分布在例如磁盘或CD-ROM上。从那里,它们被安装或加载到计算机的次级存储器中。在执行时,它们至少被部分地加载到计算机的主电子存储器中。当这些及其它各种类型的计算机可读存储介质包含用于实现在下面联合微处理器或其它数据处理器描述的步骤的指令或程序时,本文描述的发明包括此类介质。当根据本文描述的方法和技术编程时,本发明还包括计算机本身。
出于示意的目的,诸如操作系统等的程序或其它可执行程序组件在此被示为分离的框。然而应当理解,此类程序及组件在各个时间驻留在计算机的不同存储组件内,并由计算机的数据处理器执行。
尽管联合包括计算机130的示例性计算系统环境描述,但本发明可配合许多其它通用或专用计算系统环境或配置来运行。该计算系统环境并不试图对本发明的使用范围或功能提出任何限制。并且,该计算系统环境不应被解释为对于在该示例性操作环境中示出的任一组件或其组合有任何依赖性或要求。可适用于本发明的众所周知的计算系统、环境、和/或配置的例子包括,但不限于,个人计算机、服务器计算机、手持或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、小型机、大型主机、包括任何上述系统与设备的分布式计算环境,等等。
可以在诸如由一个或多个计算机或其它设备执行的程序模块等的计算机可执行指令的通用环境中描述本发明。一般而言,程序模块包括,但不限于,执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、及数据结构。还可在分布式计算环境中实施本发明,其中任务由通过通信网络连接的远程处理设备来执行。在分布式计算环境中,程序模块可同时位于包括记忆存储设备的本地及漫游客户机存储介质内。
在运行时,计算机130执行诸如那些示于图5中的计算机可执行指令来生成搜索结果。
当介绍本发明或其实施例的元素时,冠词“一”、“一个”、“该”、“所述”旨在意味着有一个或多个元素。术语“包含”、“包括”、“具有”旨在为包含性的,并意味着可能有除列出元素之外的其它元素。
考虑到上文,可看到,达到了本发明的若干目的,并获得了其它有利结果。
因为可在结构和方法中作各种改变而不会脱离本发明的范畴,包含在上面描述及在附图中示出的所有内容旨在被解释为包容性的,而非限制性的。
权利要求
1.一种生成搜索结果的方法,其特征在于,包含从用户接收搜索请求;根据接收到的搜索请求查询可搜索索引,以识别可能与所述搜索请求相关的电子文档,所述索引包含与多个电子文档相关联的文档数据,所述文档数据指定与每个电子文档相关联的一个或多个类别;以及根据与所识别的文档相关联的一个或多个类别对所述查询的结果进行分类;向用户显示经分类的结果,从而在单页上向用户显示不同类别中的一个或多个所识别的电子文档。
2.如权利要求1所述的方法,其特征在于,所述文档数据包括与每个电子文档相关联的、相对于一个或多个类别等级值,所述等级值存储在所述索引内,并表示特定电子文档与特定类别的相关性,且其中,所述显示包括根据所述等级值显示每个不同类别中预定数量的的所识别的电子文档。
3.如权利要求2所述的方法,其特征在于,所述显示包括根据不同类别的总数以及每个不同类别中每个所识别的电子文档的等级值的来显示经分类的结果。
4.如权利要求2所述的方法,其特征在于,所述显示包括按组显示经分类的结果,每个组对应于一特定类别,且每个组基于与该特定类别中每个所识别的电子文档相关联的等级值,按降序列出该特定类别中所识别的电子文档的描述。
5.如权利要求2所述的方法,其特征在于,每个电子文档包含以下的一个或多个下列网页和多媒体文件。
6.如权利要求1所述的方法,其特征在于,查询可搜索索引还包括查询第三方数据源,以检索与不同类别有关的广告数据,且其中,显示经分类的结果还包括相对于所识别的电子文档的不同类别来显示所检索的广告数据。
7.一种包含用于生成搜索结果的计算机可执行指令的计算机可读介质,其特征在于,包含搜索表单组件,用于从用户接收搜索请求;搜索引擎组件,用于根据所接收的搜索请求查询可搜索索引,以识别可能与搜索请求相关的电子文档,并用于对所述查询的结果进行分类,所述索引包含与多个电子文档相关联的文档数据,所述文档数据指定与每个电子文档相关联的一个或多个类别,所述结果是根据与所识别的电子文档相关联的一个或多个类别来分类的;以及用户界面组件,用于向用户显示经分类的结果,从而在单页上向用户显示不同类别内的一个或多个所识别的电子文档。
8.如权利要求7所述的计算机可读介质,其特征在于,所述文档数据包括与每个电子文档相关联的、相对于一个或多个类别等级值,所述等级值存储在所述索引内,并表示特定电子文档与特定类别的相关性,且其中,所述用户界面组件被配置成根据所述等级值来显示每个不同类别中的预定数量的的所识别的电子文档。
9.如权利要求8所述的计算机可读介质,其特征在于,所述用户界面组件还被配置成根据不同类别的总数以及每个不同类别中的每个所识别的电子文档的等级值来显示经分类的结果。
10.如权利要求8所述的计算机可读介质,其特征在于,所述用户界面组件还被配置成按组显示经分类的结果,每个组对应于一特定类别,且每个组基于与该特定类别中每个所识别的电子文档相关联的等级值,以降序列出该特定类别中所识别的电子文档的描述。
11.如权利要求7所述的计算机可读介质,其特征在于,所述搜索引擎组件还被配置成查询第三方数据源以检索与不同类别有关的广告数据,且其中,所述用户界面组件还被配置成相对于所识别的电子文档的不同类别来显示所检索的广告数据。
12.一种用于响应于从用户接收到搜索请求生成搜索结果的系统,所述用户经由客户机生成所述搜索请求,所述系统包含用于经由客户机从用户接收搜索请求的第一服务器,所述第一服务器经由通信网络耦合到所述客户机;包含与多个电子文档相关联的文档数据的索引,所述文档数据指定与每个电子文档相关联的一个或多个类别;以及其中,所述第一服务器被配置成根据接收到的搜索请求查询所述索引,以识别可能与搜索请求相关的电子文档,并对所述查询的结果进行分类,所述结果是根据与所识别的电子文档相关联的一个或多个类别来分类的,以在客户机处向用户显示,从而在单页上向用户显示不同类别中的一个或多个所识别的电子文档。
13.如权利要求12所述的系统,其特征在于,所述文档数据包括与每个电子文档相关联的、相对于一个或多个类别等级值,所述等级值存储在所述索引内,并表示特定电子文档与特定类别的相关性,并且其中,根据所述等级值来显示每个不同类别中预定数量的所识别的电子文档。
14.如权利要求13所述的系统,其特征在于,所述经分类的结果是根据不同类别的总数以及每个不同类别中每个所识别的电子文档的等级值来显示的。
15.如权利要求13所述的系统,其特征在于,所述经分类的结果是按组显示的,每组对应于一特定类别,且每个组基于与该特定类别中每个所识别的电子文档相关联的等级值,以降序列出该特定类别中的所识别的电子文档的描述。
16.如权利要求12所述的系统,其特征在于,所述第一服务器被配置成向客户机提供web表单,用于从用户接收搜索请求。
17.如权利要求12所述的系统,其特征在于,所述第一服务器还被配置成查询第三方数据源以检索与不同类别有关的广告数据,且其中,相对于所识别的电子文档的不同类别来显示检索到的广告数据。
18.如权利要求12所述的系统,其特征在于,包含在所述索引内的文档数据被分区并被传输到多个子索引用于存储,所述多个子索引的每一个在多个附属服务器上维护,且其中,所述第一服务器响应于接收到的搜索请求,来查询所述多个子索引中的至少一个,以识别不同类别中的一个或多个电子文档。
19.一个或多个其上存储有可搜索数据结构的计算机可读介质,所述数据结构包含第一字段,用于存储表示与位于网络上的电子文档相关联的搜索引擎索引词的数据,所述索引词包括在所述电子文档内;第二字段,用于存储表示与所述电子文档相关联的类别的数据;第三字段,用于存储表示所述电子文档在网络上的位置;以及其中,根据第一字段来索引包括在第二字段内的文档数据,使得一个或多个类别与该索引词相关联,并且其中,根据第二字段来索引包括在第三字段内的文档数据,使得一个或多个电子文档的位置与一个或多个类别的每一个相关联。
20.如权利要求19所述的计算机可读介质,其特征在于,所述数据结构还包括表示与所述电子文档相关联的等级值的第四字段,所述等级值表示特定电子文档与特定类别的相关性,且其中,根据第三字段来索引包括在第四字段中的文档数据,使得一个或多个等级与每个和特定类别相关联的电子文档相关联。
21.如权利要求19所述的计算机可读介质,其特征在于,一应用程序被配置成接收搜索所述索引的搜索请求,以确定存储在第一字段中的索引词是否与所接收的搜索请求内指定的查询数据相匹配,其中,如果存储在第一字段内的索引词与所述查询数据相匹配,所述应用程序还被配置成识别在第二字段内指定的对应类别,并识别存储在第三字段内的对应文档位置,且其中,所述应用程序向用户提供包括所识别的文档位置的搜索结果,且其中,所述搜索结果按类别分组。
22.如权利要求21所述的计算机可读介质,其特征在于,所述数据结构还包括表示与已知电子文档相关联的摘要描述的第五字段,且其中,由所述应用程序向用户提供的分组搜索结果包括与该电子文档相关联的摘要描述。
23.如权利要求19所述的计算机可读介质,其特征在于,所述文档数据还包括下列的一个或多个超文本传输协议(HTTP)报头中的数据、元标签、可扩展标记语言(XML)数据、及资源描述框架(RDF)数据。
全文摘要
一种用于按类别分散搜索引擎结果的系统和方法。搜索引擎应用程序响应于搜索请求,查询与多个电子文档相关联的文档数据的可搜索索引,以识别具有与包含在该搜索请求中的数据相匹配的文档数据的一个或多个电子文档。该搜索引擎应用程序根据包含在文档数据内的类别数据来分散所识别的电子文档,以向用户显示。
文档编号G06F17/30GK1716255SQ20051008186
公开日2006年1月4日 申请日期2005年7月1日 优先权日2004年7月1日
发明者B·拉马拉斯纳姆, D·A·沙基博, G·N·赫兰德, N·A·哈米尔顿 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1