CN101366024A - 用于处理数据搜索请求的方法和系统 - Google Patents

用于处理数据搜索请求的方法和系统 Download PDF

Info

Publication number
CN101366024A
CN101366024A CNA2005800510982A CN200580051098A CN101366024A CN 101366024 A CN101366024 A CN 101366024A CN A2005800510982 A CNA2005800510982 A CN A2005800510982A CN 200580051098 A CN200580051098 A CN 200580051098A CN 101366024 A CN101366024 A CN 101366024A
Authority
CN
China
Prior art keywords
constraint
search
key word
data
definition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005800510982A
Other languages
English (en)
Other versions
CN101366024B (zh
Inventor
尼古拉斯·大卫·波斯纳
拉马纳·M·伊杜尔瑞
理查德·道格拉斯·汉德尔森
兰德尔·斯科特·舒普
维贾伊·库马尔
路易斯·马塞尔·吉诺·莫尼尔
安塞尔姆·保罗·拜德-史密斯
托马斯·纳尔逊
雷格哈夫·古普塔
拉菲·土屯建恩
普雷斯顿·格兰特·斯莫利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
eBay Inc
Original Assignee
eBay Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by eBay Inc filed Critical eBay Inc
Priority to CN201410318343.2A priority Critical patent/CN104166677B/zh
Publication of CN101366024A publication Critical patent/CN101366024A/zh
Application granted granted Critical
Publication of CN101366024B publication Critical patent/CN101366024B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90324Query formulation using system suggestions
    • G06F16/90328Query formulation using system suggestions using search space presentation or visualization, e.g. category or range presentation and selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3338Query expansion

Abstract

一种用于处理数据搜索请求的方法和系统。该系统包括查询控制器模块,用于接收包括约束的数据搜索请求;精简约束建立器模块,用于编制多个搜索定义,搜索定义被编制为排除至少一个约束;和搜索引擎,用于执行对数据源的搜索以生成搜索结果,并利用搜索结果来计算分别对应于搜索定义的数据项目计数。查询控制器模块将数据项目计数和相应的搜索定义传输到客户端机器。每个搜索定义被编制为包括约束集合。约束集合中的约束是关键字约束和/或搜索参数约束。

Description

用于处理数据搜索请求的方法和系统
技术领域
实施例一般地涉及搜索自动化技术领域,在一个示例性实施例中,涉及用于处理数据搜索请求的方法和系统。
背景技术
搜索引擎是一种基于用户输入的数据搜索请求在数据源中识别数据项目的工具。搜索引擎利用用户输入的关键字或其它类型的约束来识别该用户感兴趣的的数据项目。有时,搜索引擎返回包括很少(如果有)数据项目的搜索结果,因为数据搜索请求包括太多约束。在这种情况下,用户可以删除约束以增大返回的数据项目的数目;但是,用户可能不容易理解哪些约束将删除,因为删除一个约束可能导致返回太多数据项目,而删除另一约束可能导致返回很少(如果有)数据项目。
发明内容
根据本发明的第一方面,一种用于处理数据搜索请求的系统包括:查询控制器模块,用于经由计算机系统的接口接收所述数据搜索请求,所述数据搜索请求包括多个约束;精简约束建立器模块,用于在所述计算机系统内编制多个搜索定义,所述多个搜索定义的子集中的每个搜索定义被编制为利用所述多个约束并排除至少一个约束;以及搜索引擎,用于执行对数据源的多个搜索以生成多个搜索结果,并且利用所述多个搜索结果来在所述计算机系统中计算多个数据项目计数,所述多个数据项目计数分别对应于所述多个搜索定义的所述子集,所述查询控制器模块用于经由所述计算机系统的所述接口将所述多个数据项目计数和相应的所述多个搜索定义的所述子集传输到客户端机器,其中所述搜索定义中的每一个被编制为包括一个约束集合,并且其中所述约束集合中的约束是从包括关键字约束和搜索参数约束的群组中选出的。其中所述查询控制器以列表的形式传输每个约束集合,以此方式来识别所述多个约束中已经从各个约束集合中排除的至少一个约束。其中所述精简约束建立器模块判断与排除的约束相关联的约束集合是否对应于与在不排除约束的情况下的约束集合相关联的数据项目计数相等的数据项目计数,如果是,则不显示与所述排除的约束相关联的搜索定义。该系统包括查询建立器模块,用于判断所述搜索请求是否包括预定阈值最小数目的约束,并且其中所述精简约束建立器模块在约束的数目超过所述约束的预定阈值最小数目的情况下编制所述多个搜索定义。其中所述搜索引擎用于基于所述数据搜索请求来执行搜索,并且其中所述精简约束建立器模块用于在找到的数据项目的数目超过数据项目的预定阈值最小数目的情况下编制所述多个搜索定义。所述系统包括扩展模块,用于将包括在所述数据搜索请求中的预定约束集合标识为一个原子约束,并且其中所述精简约束建立器模块通过利用所述原子约束识别数据项目来编制所述多个搜索定义。所述系统包括扩展模块,用于自动扩展包括在所述搜索请求中的至少一个约束。其中所述扩展模块自动扩展所述至少一个约束以生成如下表达式:所述表达式包括所述至少一个约束和被自动确定为对应于所述至少一个约束的进一步的约束。其中所述精简约束建立器模块判断所述约束集合是否包括从所述约束集合中排除的第一约束,如果是,则从所述约束集合中排除第二约束。其中所述扩展模块将关键字约束扩展为搜索参数约束,并且其中所述扩展模块将搜索参数约束扩展为关键字约束。
根据本发明的第二方面,一种用于处理数据搜索请求的系统包括:查询控制器模块,用于接收所述数据搜索请求,所述数据搜索请求包括多个约束,所述约束包含第一关键字;扩展模块,用于将所述第一关键字关联到多个类别;精简约束建立器模块,用于编制包括所述多个类别的搜索定义;以及搜索引擎,用于基于所述搜索定义来执行对数据源的搜索。其中所述扩展模块将第二关键字关联到包括在所述搜索定义中的第二约束,所述第二约束包括一组所述第二关键字的替换形式中的任意一种,所述一组所述第二关键字的替换形式包括所述第二关键字的复数形式、所述第二关键字的替换拼写、所述第二关键字的替换单词形式、所述第二关键字的反义词和所述第二关键字的同义词。其中所述扩展模块将包括在所述搜索请求中的约束的预定集合标识为一个原子约束,并且其中所述精简约束建立器模块利用所述原子约束来编制所述搜索定义。
附图说明
在附图中通过示例而非限制方式示出本发明的实施例,在附图中,类似标号指示类似元件,并且其中:
图1是描绘根据本发明一个示例性实施例的系统的网络图;
图2是示出根据本发明示例性实施例包含在信息存储和检索平台中的搜索系统的框图;
图3是示出根据一个实施例的数据库表的框图;
图4是示出根据一个实施例的数据项目表的框图;
图5A是根据一个实施例的查询的表示;
图5B是根据一个实施例响应于查询100生成的数据项目计数器、基本查询和搜索定义的表示;
图5C是根据一个实施例的扩展(expansion)的表示;
图6是示出配置表、停用词表、关键字扩展表和短语表的框图;
图7是示出关键字交叉类型扩展表、类别交叉类型扩展表、搜索参数交叉类型扩展表和属性交叉类型扩展表的框图;
图8是示出根据一个实施例用来生成数据项目计数器的搜索表的框图;
图9是根据一个实施例的精简约束建立器模块的框图;
图10是示出根据一个实施例用于处理数据搜索请求的计算机实现的方法的流程图;
图11是示出根据一个实施例用于接收数据搜索请求的方法的流程图;
图12是示出根据一个实施例用于扩展约束交叉类型的方法的流程图;
图13是示出根据一个实施例用于判断精简的约束是否呈现给用户的方法的流程图;
图14是示出根据一个实施例用于编制搜索定义的方法的流程图;
图15是示出根据一个实施例用于执行搜索和计算数据项目的计数的方法的流程图;
图16是示出根据一个实施例用于生成位图和数据项目计数器的方法的流程图;
图17是示出根据一个实施例用于将数据项目计数器的值添加到子集数据项目计数器的方法的流程图;
图18-25是根据一个实施例的用户界面的表示;以及
图26是根据一个实施例的机器的框图。
具体实施方式
用于处理数据搜索请求的方法和系统将被描述。在以下描述中,出于说明的目的而提出多个具体细节,以便提供对本发明的全面理解。但是,本领域计数人员将会发现,本发明无需这些具体细节也可以实施。
一般而言,下述实施例公开了这样的系统,其对已经输入了过度约束的数据搜索请求的用户作出响应。该系统通过编制和呈现一组搜索定义来作出响应,其中,每个搜索定义可以从原始数据搜索请求中排除掉一个或多个约束,并且可以被用户选择以作为下一数据搜索请求被执行。另外,每个搜索定义可以与一个计算出的数据项目计数相关联,该数据项目计数使得用户能够计划和预测将响应于相应搜索定义的执行而返回的数据项目的数目。例如,数据项目计数50可以指示返回数目可管理的多个数据项目的数据搜索请求。如上所述结合相应数据项目计数的搜索定义的呈现使得用户能够仔细地选择下一数据搜索请求。
图1是根据本发明一个示例性实施例具有客户端-服务器体系结构的系统10的网络图。以信息存储和检索平台12的示例性形式存在的平台经由网络14(例如因特网)向一个或多个客户端提供服务器侧功能。图1例如示出分别在客户端服务器机器20和22上执行的web客户端16(例如浏览器,如Redmond,Washington State的Microsoft Corporation开发的INTERNET EXPLORER浏览器)和编程式客户端18。
具体而言,关注信息存储和检索平台12,应用程序接口(API)服务器24和web服务器26被耦合到一个或多个应用服务器28,并分别向这一个或多个应用服务器28提供编程式和web接口。应用服务器28可以容宿查询控制器模块32、查询建立器模块38和精简约束建立器模块40。应用服务器28进而被示出耦合到一个或多个搜索智能后端服务器34和一个或多个搜索后端服务器36。搜索智能后端服务器34容宿扩展模块30。搜索后端服务器36容宿搜索引擎42并辅助到数据源44的访问。
查询控制器模块32充当客户端服务器机器22和20和其他搜索模块(例如扩展模块30、查询建立器模块38、精简约束建立器模块40和搜索引擎42)之间的中枢。为此,查询控制器模块32经由API服务器24和web服务器26与客户端服务器机器22、20通信并直接与其他搜索模块通信。扩展模块30扩展约束以捕获附加数据项目。查询建立器模块38判断精简约束搜索定义和计数器是否可以呈现给用户。精简约束建立器模块40建立一组搜索定义,这组搜索定义分别排除了一个或多个约束。搜索引擎42计算数据项目计数并对数据源44执行搜索。
虽然图1所示系统10采用客户端-服务器体系结构,但是本发明当然不局限于这样的体系结构,同样地,本发明可以应用于分布式的或对等的体系结构系统。扩展模块30、查询控制器模块32、查询建立器模块38、精简约束建立器模块40和搜索引擎42(例如搜索模块)还可被实现为独立的软件程序,这些软件程序不一定具有联网功能。
将会意识到,web客户端16经由web服务器26所支持的web服务器26来访问由搜索模块提供的各种服务和功能。类似地,编程式客户端18经由API服务器24提供的编程式接口来访问由搜索模块提供的各种服务和功能。
搜索体系结构和应用
图2是示出根据本发明示例性实施例包含在信息存储和检索平台12中的搜索系统46的框图。搜索系统46被呈现以提供关于处理数据搜索请求的概况。
在操作48处,客户端机器20向查询控制器模块32传输数据搜索请求。例如,数据搜索请求可以包括以下关键字约束“Harry”、“Potter”和“Book”。查询控制器模块32根据适当的语法修改数据搜索请求以形成查询。
在操作50处,查询控制器模块32向扩展模块30传输查询,扩展模块30检查关键字约束以用于扩展。例如,关键字约束“book”可被扩展为包括复数形式的单词“book”(例如Book=(Book或Books))。其他类型的扩展可以包括替换的拼写、同义词、反义词、替换的单词形式等等。扩展模块30尝试扩展数据搜索请求中的所有关键字,然后在操作52处,将修改后的查询传输到查询控制器模块32,查询控制器模块32进而在操作54处将修改后的查询传输到搜索引擎42。在操作56处,搜索引擎42执行查询并将结果传输到查询控制器模块32,查询控制器模块32在操作58处将结果和修改后的查询传输到查询建立器模块38。在操作60处,查询建立器模块38已经确定该数据搜索请求已经被过度约束(例如没有返回或返回很少数据项目),并将结果和修改后的查询传输到精简约束建立器模块40,精简约束建立器模块40进而基于修改后的查询生成适当的搜索定义。在操作62处,精简约束建立器模块将搜索定义传输到搜索引擎42,搜索引擎42确定每个搜索定义的相应数据项目计数。在操作64处,搜索引擎42将数据项目计数或计数器传输到精简约束建立器模块40,精简约束建立器模块40进而对搜索定义和相应的数据项目计数进行排序,然后将它们传输到查询控制器模块32。最后,在操作68处,查询控制器模块32将原始搜索结果、排除了约束的搜索定义和相应的数据项目计数器以HTLML结果的形式传输到客户端机器20处的用户。
以上示例性概况描述了利用关键字约束的数据搜索请求;但是,将会意识到,其他实施例可以描述利用其他类型约束的数据搜索请求,所述约束包括类别约束、搜索参数约束和属性约束或它们的组合,如下所述。
图3示出根据一个实施例的数据库表79的框图。示例性数据库表79被存储在数据源44上,并且包括数据项目表80、配置表112、停用词表114、关键字扩展表116、短语表118和交叉类型扩展表140、142、144、146。数据项目表80被用来存储和检索数据项目。配置表112被用来存储供搜索模块使用的各种可配置的参数。存储在配置表112中的可配置参数可以由管理员或信息存储和检索平台12的用户来配置。停用词表114可被用来标识应该从数据搜索请求中删除的一个或多个关键字。短语表118被用来标识应该原子对待的关键字的集合。关键字扩展表116被用来扩展关键字约束成其他形式的关键字约束,而交叉类型扩展表140、142、144、146被用来将一种约束扩展成另一种约束。
图4是示出根据一个实施例的数据项目表80的框图。数据项目表80被示出包括多个数据项目82。每个数据项目82包括域84、文本86、属性88和搜索参数90。域84被用于区分数据项目82的类型。示例性域84可以包括图书、玩具、DVD等等。文本86包含可以描述数据项目82或提供与数据项目82相关的信息的单词。属性88提供描述性信息,该描述性信息可被用来区分相同域84中的数据项目82。每个属性88包括属性标识符92,该属性标识符92可以与一个或多个属性值94相关联。例如,图书可以具有属性标识符92,其描述图书的格式,并且相关的属性值可以包括“Hardback”或“Softback”。搜索参数90提供描述性信息,该描述性信息可用于表征数据项目82,不管域84如何。换言之,搜索参数90的公共集合可被应用到所有数据项目82,不管域84如何。每个搜索参数90包括搜索参数标识符96,其可以与一个或多个搜索参数值98相关联。例如,数据项目82可以具有描述销售格式的搜索参数标识符96,其中作为销售项目的数据项目82可以该销售格式被交易。相关的搜索参数值98可以包括“Buy it Now”或“Auction”。
图5A是根据一个实施例的查询100的表示。查询100是查询控制器模块32从数据搜索请求生成的。数据搜索请求和查询100包括一个或多个约束102,约束102可被搜索引擎42用来识别数据项目82。每个约束102可以被表征为关键字约束104、属性约束106、搜索参数约束108和类别约束110,所述类别约束110是搜索参数约束108的一种。关键字约束104可被用来识别包含匹配的文本86的数据项目82。属性约束106可被用来识别包含匹配属性88的数据项目82。搜索参数约束108可被用来识别包含匹配的搜索参数90的数据项目82。类别约束110可被用来识别包含作为搜索参数90的一种的匹配类别的数据项目82。图25示出根据一个实施例用于输入约束102的用户界面97。用户界面97包括关键字输入框115、类别标识符117、图书查找器119和搜索参数面板121。关键字输入框115可被用户用来输入关键字约束104(例如“Harry”、“Potter”、“book”、“goblet”)。类别标识符117可被用来选择类别约束110(例如图书)。在另一实施例中,浏览类别的层次结构可被用来选择类别约束110。图书查找器119可被用来选择与“图书”域84(例如“England”、“London”)中的数据项目82相关联的属性值94,并且搜索参数面板121可被用来选择搜索参数值98(例如“US $ Only”、“BuyIt Now”、“$10”到“$20”)。
图5B是根据一个实施例响应于查询100生成的数据项目计数器103、基本查询111和搜索定义101的表示。查询100被示为包括属性约束106(例如A1、A2)、关键字约束104(KW1、KW2)和搜索参数约束108(SP1、SP2)。查询100可被用于生成搜索参数集合107、搜索定义101的属性集合109和关键字集合105、基本查询111和数据项目计数器103。每个集合107、105、109与搜索定义101、基本查询111和数据项目计数器103相关联,所述搜索定义101系统地排除了某种类型的约束102,基本查询111保存了其余的约束102,数据项目计数器103指示利用相关的搜索定义101和基本查询111在数据源44中找到的数据项目62的数目。搜索定义101根据集合类型107、105、109被排序以呈现给用户(例如与精简的搜索参数约束108相关联的搜索定义101首先被呈现,与精简的关键字约束104相关联的搜索定义101其次被呈现,而与精简的属性约束108相关联的搜索定义101第三被呈现)。在每个集合类型107、105、109内,搜索定义101根据排除的约束102的数目按递增的顺序被排序(例如排除了一个约束的搜索定义101、排除了两个约束102的搜索定义等等)。包括同样数目的排除约束的搜索定义根据数据项目82的数目按递增的顺序被排序。
图5C是根据一个实施例的扩展113的表示。扩展113包括这样的约束102,该约束102可被映射到包括原始约束102和一个或多个用OR操作符分隔开的附加约束102的表达式。扩展113用来捕获这样的数据项目82,该数据项目82应该尚未利用原始约束102被捕获,但是从输入数据搜索请求的用户的角度来看,该数据项目82可能应该被捕获。如前所述,扩展可被用来将关键字约束104扩展到复数形式、替换的拼写、同义词、反义词、替换的单词形式等等。另外,扩展可被用来扩展交叉约束类型。例如,关键字约束104可被扩展到类别约束110或属性约束106或搜索参数约束108。任意约束类型可被扩展到任意其他约束类型或任意其他约束类型的组合。另外,单个约束102可被扩展到具有另一类型的多个约束102。例如,关键字“dog”可被扩展到类别“dogs”和类别“animals”。
图6是示出配置表112、停用词表114、关键字扩展表116和短语表118的框图。配置表112包括用于最小约束120、最大约束122、最小数据项目124、最大数据项目126、显示列128和显示行130的字段。最小约束120指定数据搜索请求中为了呈现具有精简的约束102的搜索定义101所需的约束102的最小数目。最大约束122指定数据搜索请求中为了呈现具有精简的约束102的搜索定义101所需的约束102的最大数目。最小数据项目124和最大数据项目126指定呈现具有精简的约束102的搜索定义101所需的数据项目82的数目的范围。数据项目82的数目的范围可以与在不精简约束102的情况下通过执行数据搜索请求定位到的数据项目82的数目相比较。显示列128和显示行130指定可以在用户界面上用来呈现搜索定义的列或行的最大数目,每行对应于约束集合的列表中的一个搜索定义101,每列对应于约束集合表中的一个搜索定义101。
停用词表114包括关键字约束104。停用词表114可被扩展模块30用来识别和删除来自查询100的关键字约束104(例如and、the、is等等)。
关键字扩展表116包括关键字约束104,所述关键字约束104如果在查询100中被找到,则被用于替换表达式136。表达式136包括原始关键字约束104、“OR”逻辑操作符和附加的关键字约束104。附加的关键字约束104可以包括替换的拼写、替换的单词形式、同义词、反义词。例如,关键字约束104“book”可被扩展为包括表达式(“book”OR“books”)。
短语表118包括关键字约束104,所述关键字约束104如果在查询100中被找到,则被用于替换相应的原子表达式(atomic expression)138。扩展模块30利用短语表118来识别应该被视为单个关键字约束104或原子表达式的多个关键字约束104。例如,包括关键字约束104“Harry”和“Potter”的查询100应该被视为单个约束102“HarryPotter”。
图7是示出关键字交叉类型扩展表140、类别交叉类型扩展表142、搜索参数交叉类型扩展表144和属性交叉类型扩展表146的框图。关键字交叉类型扩展表140包括对应于如下表达式的关键字约束104:所述表达式可以包括关键字约束104或类别约束110、或搜索参数约束108或属性约束106。关键字交叉类型扩展表140实现关键字约束104到识别出的其它类型的约束102中的任意一种的扩展。另外,关键字约束104可被扩展到多于一个类别约束110或多于一个特殊的参数约束108或多于一个属性约束106。其余的扩展表142、144、146被用于针对其他类型的约束102执行相似类型的扩展。因此,任意约束类型可被扩展到任意其他约束类型,并且进一步,任意约束类型可被扩展到同样类型的多个约束102。
图8是示出根据一个实施例用来生成数据项目计数器103的搜索表148的框图。搜索表148包括搜索定义表150、搜索结果表152、154、156和包括位图158的位图表157。搜索定义表150包括可以与每个搜索定义101和数据项目计数器103相关联的搜索定义标识符159。搜索定义101或约束集合被示为系统地排除了三种约束102的所有置换(permutation)。在一个实施例中,每个搜索定义101可针对数据源44被执行以确定各个数据项目计数器103的值。在另一实施例中,数据项目计数器103的值可以通过执行针对搜索定义101中的每个约束102(例如第一约束102、第二约束102、第三约束102)的搜索并执行计算来确定。在本示例中,第一约束102可被用来生成搜索结果表152,第二约束102可被用来生成搜索结果表154,而第三约束102可被用来生成搜索结果表156。在本示例中,搜索结果表152包括数据项目821、4和5,搜索结果表154包括数据项目821、2和6,搜索结果表156包括数据项目1、3、4和5。搜索结果表152、154和156被用来针对每个数据项目82生成位图表157中的位图158。每个示例性位图158包括位163、165、167,它们对应于各个示例性搜索结果表152、154、156的结果。另一示例可以包括N个搜索结果表152、154、156...N,它们可以对应于每个位图158中的N位。被断言(asserted)的位可以指示相应的表152、154、156包含数据项目82。位图158被用来递增搜索定义表150中的数据项目计数器103。例如,对应于第一搜索定义101的数据项目计数器103可以针对包含值“111”的每个位图(例如数据项目821)被递增。在所有位图158都已被用于递增适当的数据项目计数器103之后,数据项目计数器103可被用来调整它们相应的子集数据项目计数器103的值。例如,与第一搜索定义101相关联的数据项目计数器103的值可被用来调整与第二、第三、第四、第五、第六和第七搜索定义101相关联的数据项目计数器103的值。因此,与第二、第三、第四、第五、第六和第七搜索定义相关联的数据项目计数器103分别由包含在与第一搜索定义101相关联的数据项目计数器103中的值来递增。下表将搜索定义表150中的数据项目计数器103关联到它们各自的子集数据项目计数器103。
 
数据项目计数器103 子集数据项目计数器103
1 2、3、4、5、6、7
2 5、7
3 5、6
4 6、7
5
6
7
图9是根据一个实施例的精简约束建立器模块40的框图。精简约束建立器模块40基于查询100生成搜索定义101。精简约束建立器模块40包括关键字模块162、属性模块164和搜索参数模块166,它们中的每一个都响应于处理单个查询100(例如单个数据搜索请求)而被调用。关键字模块162、属性模块164和搜索参数模块166可以基于查询100来建立搜索定义101。关键字模块162、属性模块164和搜索参数模块166可以生成系统地删除了约束102的搜索定义101,如上所述。
图10是示出根据一个实施例用于处理数据搜索请求的计算机实现的方法170的流程图。方法170开始于操作172,其中查询控制器模块32从客户端机器20接收数据搜索请求。
图11是示出根据一个实施例用于接收数据搜索请求的方法174的流程图。在操作176处,查询控制器模块32接收用户在客户端机器20处输入的数据搜索请求。图18是根据实施例可被用来接收关键字数据搜索请求的用户界面178的图示。用户界面178包括对话框180,用于接收关键字约束104。对话框180被示为接收关键字约束104。对话框180被示为接收关键字约束104“Harry”、“Potter”、“book”、“goblet”、“fire”、“the”和“potato”。返回图11,在操作176处,查询控制器模块32基于数据搜索请求生成查询100并将查询100传输到扩展模块30。
在判决操作184处,扩展模块30利用停用词表114来识别包含在查询100中的关键字约束104。在本示例中,关键字约束104“the”的匹配可被识别出并且执行到操作186的分支。否则,执行到判决操作188的分支。在操作186处,扩展模块30寄存可以从搜索定义101中排除的关键字约束104。在本示例中,单词“the”可被识别为从搜索定义101中排除。
在判决操作188处,扩展模块30利用短语表118来判断关键字约束104的一个或多个预定集合是否可以在查询100中被识别出。如果关键字约束104的一个或多个预定集合可以被识别出,则执行到操作190的分支。否则,执行到操作192的分支。在本示例中,扩展模块30可以确定查询100包括关键字约束104的预定集合“Harry”和“Potter”,并且分支到操作190。
在操作190处,扩展模块30将两个关键字约束104寄存为单个原子约束138(例如“Harry Potter”)。
在操作192处,扩展模块30利用关键字扩展表116来扩展查询100中的关键字约束104。在本示例中,关键字约束104“book”可以在关键字扩展表116中被识别出并被扩展到包括单词“books”的表达式(例如表达式=(book OR books))。
在操作194处,扩展模块30利用关键字扩展表116识别查询100中可能与替换的拼写或替换的单词形式相关联的关键字约束104。如果找到这样的关键字约束104,则可以将包括原始和替换的形式的表达式添加到查询。
在操作196处,扩展模块30利用关键字扩展表116来识别查询100中可能与同义词或反义词相关联的关键字约束104。如果找到这样的关键字约束104,则可以将包括原始关键字约束104和同义词或反义词关键字约束104的表达式添加到查询100。
在操作198处,扩展模块30利用适当的交叉类型扩展表140、142、144、146来识别可被映射到其它类型的约束的约束102,如上所述。在本示例中,扩展模块30可以利用关键字交叉类型扩展表140来判断查询100中的任意关键字约束104是否可被映射到一个或多个属性约束104、一个或多个搜索参数约束108或一个或多个类别约束110,并且如果是,则替换来自关键字交叉类型扩展表140的适当的表达式。
在操作200处,扩展模块30将修改后的查询100传输到查询控制器模块32,查询控制器模块32进而将修改后的查询100传输到搜索引擎42,搜索引擎42进而针对数据源44执行修改后的查询100。搜索引擎42将结果列表返回到查询控制器模块32,查询控制器模块32进而将结果列表传输到查询建立器模块38。
在判决操作202处,查询建立器模块38判断具有精简的约束的搜索定义101形式的呈现结果和对应于搜索定义101的数据项目计数器103是否可以与原始结果集合一起被呈现给用户。如果呈现结果可以被呈现,则处理继续到图10上的操作208。否则执行到操作204的分支。
在操作204处,查询建立器模块38将原始搜索结果返回到查询控制器模块32,查询控制器模块32进而生成适当的HTML并将其传输回客户端机器20以呈现给用户。
返回图10,在操作208处,精简约束建立器模块40编制搜索定义。
图14是示出根据一个实施例用于编制搜索定义的方法210的流程图。方法210开始于操作212,其中精简约束建立器模块40将约束计数器设置为1。
在操作213处,如果关键字约束104在查询100中被呈现,精简约束建立器模块40则调用关键字模块162,如果属性约束106在查询100中被呈现,精简约束建立器模块40则调用属性模块164,如果搜索参数约束108在查询中被呈现,精简约束建立器模块40则调用搜索参数模块166。各个模块162、164、166中的每一个可以生成基本查询111,如前所述。基本查询111可以基于查询100中不同于所述模块162、164、166的约束102生成。例如,关键字模块162响应于接收到只包括关键字约束104的查询100,可能不建立基本查询111。
在操作214处,如果关键字约束104在查询100中被呈现,精简约束建立器模块40则调用关键字模块162,如果属性约束106在查询100中被呈现,精简约束建立器模块40则调用属性模块164,如果搜索参数约束108在查询中被呈现,精简约束建立器模块40则调用搜索参数模块166。各个模块162、164、166中的每一个生成排除了约束计数器所指定的数目的约束102的一组搜索定义101。例如,如果约束计数器等于1,则生成排除了单个约束的搜索定义101。
在判决操作216处,精简约束建立器模块40判断生成的搜索定义101是否包括子约束102和排除的相应父约束102。例如,考虑包括子约束102“San Jose”并且排除了相应的父约束102
Figure A200580051098D00201
的搜索定义101。如果生成的搜索定义101包括子约束并且排除了相应的父约束102,则执行到操作218的分支。否则,执行到操作220的分支。
在操作218处,精简约束建立器模块40删除搜索定义101。在操作220处,精简约束建立器模块40递增约束计数器。
在判决操作222处,精简约束建立器模块40判断约束计数器是否大于在配置表112中指定的最大约束数目122。如果约束计数器大于最大约束数目122,则执行到操作222的分支。否则,执行到判决操作224的分支。
在判决操作224处,精简约束建立器模块40判断查询100中的约束102是否耗尽。如果约束102被耗尽,则执行到操作222的分支,否则,执行到操作214的分支。
在操作222处,精简约束建立器模块40将搜索定义101和相应的基本查询111传输到搜索引擎42,并且处理继续到图10上的操作228。
返回图10,在操作228处,搜索引擎42执行搜索并计算数据项目的计数。
图15是示出根据一个实施例用于执行搜索和以数据项目计数器103的形式计算数据项目的计数的方法230的流程图。方法230可以针对关键字约束104、属性约束106和搜索参数约束108来执行。为了简化,方法230将针对关键字约束104来描述;但是,将会意识到,以下描述也可以应用到属性约束106和搜索参数约束108。方法230开始于操作232,其中搜索引擎42在关键字搜索定义101中获得第一约束102。
在判决操作234处,搜索引擎42判断是否存在基本查询111。如果存在基本查询111,则执行到操作236的分支,否则执行到操作238的分支。本示例仅包括关键字约束104,因此其不与基本查询111相关联。
在操作236处,搜索引擎42利用“AND”操作符将基本查询111和当前的搜索约束102组合在一起。
在操作238处,搜索引擎42利用约束102和可能的基本查询111来生成约束结果以查询数据源。
在判决操作240处,搜索引擎42判断在搜索定义101中是否存在更多关键字约束104。如果在搜索定义101中存在更多关键字约束104,则执行到操作232的分支。否则,执行到操作242的分支。
在操作242和244处,搜索引擎42针对约束结果中的数据项目82生成位图158,基于位图158递增数据项目计数器103,并且将数据项目计数器103的值添加到各个数据项目计数器103的子集。总的来说,操作242和244描述了与每个搜索定义101相关联的数据项目计数器103的生成。操作242和244在图16和图17中被更全面地描述。
在操作246处,搜索引擎42将数据项目计数器103传输到精简约束建立器模块40。
在操作248处,精简约束建立器模块40排除与可能等于利用原始查询找到的数据项目82的数目的数据项目计数器103相对应的搜索定义101。换言之,没有改善过度约束状况(例如增大找到的数据项目82的数目)的搜索定义101可能不被返回到用户。
在操作250处,精简约束建立器模块40根据精简的约束的类型(例如搜索参数约束108、关键字约束104和属性约束106)、排除的约束102的数目和数据项目计数器103的值对搜索定义101和相应的数据项目计数器103进行排序。例如,精简了搜索参数的约束106可以首先出现,然后是精简了关键字的约束104,再后面是精简了属性的约束105,其中每个根据排除的约束的递增升序,并且具有相同数目的排除了的约束的则根据升序的数据项目计数器161。
在操作252处,精简约束建立器模块40将搜索定义101和数据项目计数器103传输到查询控制器模块32,并且处理继续到图10上的操作256。
返回图10,在操作256处,查询控制器模块32利用原始搜索结果和搜索定义101形式的呈现结果以及数据项目计数器103来生成HTML,该HTML进而以用户界面的形式被传输到客户端机器20。图19示出根据一个实施例的用户界面258。该用户界面258包括对话框262、搜索定义101和数据项目计数器103。将会意识到,对话框262被示为包括单词“the”,该单词被示为从搜索定义101中排除(例如停用词)。搜索定义101作为约束集合的列表出现,并且根据排除的约束的数目和与相应的搜索定义101相关联的数据项目82的数目被排序。搜索定义101还包括“Harry Potter”形式的原子约束138,其作为单个关键字约束104出现(例如单词“Harry”和“Potter”可能总是被排除在一起
Figure A200580051098D00231
Figure A200580051098D00232
)。在一个实施例中,在客户端机器20处的用户可以选择任意搜索定义101来列出基于该搜索定义101可以找到的数据项目82。例如,用户可以选择搜索定义263,“Harry Potter book goblet fire”。
图20示出根据一个实施例图示搜索定义263的选择结果的用户界面264。用户界面264包括数据项目82和搜索参数面板266。数据项目82响应于用户选择包括关键字约束104“Harry Potter book goblet fire”的搜索定义101而被找到。搜索参数面板266包括可被用户用来进一步过滤出现在用户界面264上的数据项目82的控件。
图21是根据一个实施例用于通过利用搜索参数面板266选择搜索参数约束108的用户界面270。搜索参数面板266包括货币搜索参数274、购买格式参数276、价格参数278和显示项目按钮280。在搜索参数面板266上示出的示例性选择指示用户已经请求过滤利用关键字约束“HarryPotter book goblet fire”找到的数据项目82到可以按美元交易、可以立即购买(例如“Buy It Now”)并且价格从$10到$20的数据项目82的子集。因此,在客户端机器20处的用户选择显示项目按钮280,从而触发先前通过图10上的方法170描述的处理。
图22是根据本发明的示例性实施例示出排除了搜索参数约束108的搜索定义101的用户界面282。用户界面282包括排除了搜索参数约束108的搜索定义101、图书查找器284和搜索参数面板288。搜索定义101作为约束集合的表格出现,其中每列对应于一个搜索定义101。将会意识到,排除了单个搜索参数约束108“US $ Only”的搜索定义101不出现在用户界面282上,从而示出不与大于利用原始搜索找到的数据项目82的数目的数据项目82的计数相关联的搜索定义101的排除。图书查找器284可被用户用于进一步对域84“books”中的数据项目82的属性约束106进行过滤。
图23示出根据一个实施例用于找到数据项目82的用户界面290。用户界面290包括类别标识符294、关键字输入框292和图书查找器296以及搜索按钮297。类别标识符294示出选择类别“Books”作为搜索参数约束108。关键字输入框292示出用户已经输入了“Harry”和“Potter”作为关键字约束104。图书查找器296示出用户已经选择了父属性298(例如Publisher Country-England)和子属性299(例如Publisher City-London)作为属性约束106。最终,在客户端机器20处的用户选择搜索按钮297,从而触发先前通过图10上的方法170描述的处理。
图24示出根据一个实施例用于显示排除了混合约束类型的约束的搜索定义101的用户界面300。用户界面300包括根据约束类型排序后呈现的搜索定义302、304、306和308。例如,搜索定义302排除了搜索参数约束108(例如类别:
Figure A200580051098D00241
),搜索定义304排除了原子关键字约束104(例如
Figure A200580051098D00242
),而搜索定义306和308两者排除了属性约束106(例如
Figure A200580051098D00243
Figure A200580051098D00244
)。此外,搜索定义306示出属性约束106“Publisher Country”和“Publisher City”之间的父子关系。例如,排除了
Figure A200580051098D00245
并且包括“London”的搜索定义不被呈现。
扩展约束交叉类型
图12是根据一个实施例用于扩展约束交叉类型的方法310。方法310开始于操作311,其中扩展模块30从查询100获得下一约束。
在判决操作312处,扩展模块30解析查询100并判断第一约束102是否是关键字约束104。如果第一约束102是关键字约束104,则执行到操作314的分支。否则,执行到判决操作316的分支。在操作314处,扩展模块30利用关键字交叉类型扩展表140形成将关键字约束104与其它类型的约束102执行“OR”操作的表达式。例如,关键字约束104可被包括在包含零个、一个或多个类别约束110、零个、一个或多个搜索参数约束108和零个、一个或多个属性约束106的表达式中。
在判决操作316处,扩展模块30判断约束102是否是类别约束110。如果约束102是类别约束110,则执行到操作318的分支。否则,执行到判决操作320的分支。在操作318处,扩展模块30利用类别交叉类型扩展表142来形成将类别约束110与其它类型的约束102执行“OR”操作的表达式。例如,类别约束110可被包括在包含零个、一个或多个关键字约束104、零个、一个或多个搜索参数约束108和零个、一个或多个属性约束106的表达式中。
在判决操作320处,扩展模块30判断约束102是否是搜索参数约束108。如果约束102是搜索参数约束108,则执行到操作322的分支。否则,执行到判决操作324的分支。在操作322处,扩展模块30利用搜索参数交叉类型扩展表144来形成将搜索参数约束108与其它类型的约束102执行“OR”操作的表达式。例如,搜索参数约束108可被包括在包含零个、一个或多个类别约束110、零个、一个或多个关键字约束104和零个、一个或多个属性约束106的表达式中。
在判决操作324处,扩展模块30判断约束102是否是属性约束106。如果约束102是属性约束106,则执行到操作326的分支。否则,执行到判决操作328的分支。在操作326处,扩展模块30利用属性交叉类型扩展表146来形成将属性约束106与其它类型的约束102执行“OR”操作的表达式。例如,属性约束106可被包括在包含零个、一个或多个类别约束110、零个、一个或多个搜索参数约束108和零个、一个或多个关键字约束104的表达式中。
在判决操作328处,扩展模块30判断是否存在更多约束102。如果存在更多约束102,则执行到判决操作312的分支。否则处理结束。
图13示出根据一个实施例用于判断精简的约束是否呈现给用户的方法340。方法340开始于判决操作342,其中查询建立器模块38判断来自原始查询100的结果中的数据项目82的数目是否可能大于配置表112中的最小数据项目124。如果数据项目的数目不可能大于,则执行到操作344的分支。否则,执行到判决操作346的分支。
在判决操作346处,查询建立器模块38判断原始结果中的数据项目82的数目是否可能小于配置表112中的最大数据项目126。如果数据项目的数目不可能小于最大数据项目126,则执行到操作344的分支。否则,执行到判决操作348的分支。
在判决操作348处,查询建立器模块38判断查询100中约束102的数目是否可能大于配置表112中的最小约束120。如果约束102的数目不可能大于最小值,则执行到操作344的分支。否则执行到判决操作350的分支。
在判决操作350处,查询建立器模块38判断查询100中约束102的数目是否可能小于配置表112中的最大约束122。如果约束102的数目不可能小于最大约束122,则执行到操作344的分支,否则,执行到操作352的分支。
在操作352处,方法发信号通知精简的约束102的呈现,并且在操作344处,方法发信号通知不呈现精简的约束102。
图16是示出根据一个实施例用于生成位图158和数据项目计数器103的方法360的流程图。方法360开始于操作362,其中搜索引擎42获得下一约束结果。在操作363处,搜索引擎42获得下一数据项目82。
在判决操作364处,搜索引擎42判断当前的数据项目82是否可能未被识别。如果当前数据项目82未被识别,则执行到操作366的分支。否则,执行到判决操作368的分支。
在操作366处,搜索引擎42断言在对应于当前数据项目82的位图158中与当前约束102相对应的位。
在操作370处,搜索引擎42判断当前数据项目82是否可能在其余约束结果中找到,如果找到,搜索引擎42则断言位图158中与各个约束结果相对应的(一个或多个)位。
在操作372处,搜索引擎42基于位图158的值递增数据项目计数器103。
在判决操作368处,搜索引擎42判断在当前约束结果中是否可能存在更多数据项目82。如果可能存在更多数据项目82,则执行到判决操作364的分支。否则,执行到判决操作374的分支。
在判决操作374处,搜索引擎42判断是否存在更多约束结果。如果存在更多约束结果,则执行到操作362的分支。否则,方法360结束。
图17是示出根据一个实施例用于将数据项目计数器103的值添加到子集数据项目计数器103的方法380的流程图。方法380开始于操作382,其中搜索引擎42获得下一数据项目计数器103。
在操作384处,搜索引擎42将当前数据项目计数器103的值添加到子集数据项目计数器103(例如可以被包括在当前数据项目计数器103的子集中的数据项目计数器103)。
在判决操作386处,搜索引擎42判断是否存在更多数据项目计数器103。如果存在更多数据项目计数器103,则执行到操作382的分支。否则,方法380结束。
上述系统的实施例由于自动生成可以由用户选择的搜索定义101(例如数据搜索请求)而可以以减少网络行为的形式提供技术优点。另外,上述系统的其他实施例由于计算数据项目计数器而不对数据源执行查询而可以以减少对数据源的访问次数、减少访问的形式来提供技术优点。
图26是根据一个实施例的计算机系统的框图。示例性的计算机系统400或机器或平台包括处理器402(例如中央处理单元(CPU)、图形处理单元(GPU)或其两者)、主存储器404和静态存储器406,它们经由总线408彼此通信。计算机系统400还可以包括视频显示单元410(例如液晶显示器(LCD)或阴极射线管(CRT))。计算机系统400还包括字母数字输入设备412(例如键盘)、光标控制设备414(例如鼠标)、盘驱动单元416、信号生成设备418(例如扬声器)和网络接口设备420。
盘驱动单元416包括机器可读介质422,其上存储有包含这里描述的方法或功能中的任意一种或多种的一组或多组指令(例如软件424)。在被计算机系统400执行期间,软件424还可以完全或至少部分位于主存储器404和/或处理器402内,主存储器404和处理器402也构成机器可读介质。
软件424还可以经由网络接口设备420在网络426上发送或接收。
虽然机器可读介质422在示例性实施例中被示为单个介质,但是术语“机器可读介质”应被视为包括存储一组或多组指令的单个介质或多个介质(例如集中式或分布式数据库和/或关联缓存和服务器)。术语“机器可读介质”还将被视为包括能够存储、编码或运载由机器执行的致使机器执行本发明的任意一种或多种方法的一组指令的任意介质。术语“机器可读介质”因此将被视为包括(但不局限于)固态存储器、光和磁介质以及载波信号。
因此,用于处理数据搜索请求的方法和系统已经被描述。虽然本发明已经参考特定示例性实施例进行了描述,但是很明显,在不脱离本发明的更广泛精神和范围的情况下,可以对这些实施例进行各种修改和改变。因此,说明书和附图应被视为示例性的而非限制性的。

Claims (30)

1.一种用于处理数据搜索请求的系统,该系统包括:
查询控制器模块,用于经由计算机系统的接口接收所述数据搜索请求,所述数据搜索请求包括多个约束;
精简约束建立器模块,用于在所述计算机系统内编制多个搜索定义,所述多个搜索定义的子集中的每个搜索定义被编制为利用所述多个约束并排除至少一个约束;以及
搜索引擎,用于执行对数据源的多个搜索以生成多个搜索结果,并且利用所述多个搜索结果来在所述计算机系统中计算多个数据项目计数,所述多个数据项目计数分别对应于所述多个搜索定义的所述子集,
所述查询控制器模块用于经由所述计算机系统的所述接口将所述多个数据项目计数和相应的所述多个搜索定义的所述子集传输到客户端机器,
其中所述搜索定义中的每一个被编制为包括一个约束集合,并且其中所述约束集合中的约束是从包括关键字约束和搜索参数约束的群组中选出的。
2.如权利要求1所述的系统,其中所述查询控制器以列表的形式传输每个约束集合,以此方式来识别所述多个约束中已经从各个约束集合中排除的至少一个约束。
3.如权利要求1所述的系统,其中所述精简约束建立器模块判断与排除的约束相关联的约束集合是否对应于与在不排除约束的情况下的约束集合相关联的数据项目计数相等的数据项目计数,如果是,则不显示与所述排除的约束相关联的搜索定义。
4.如权利要求1所述的系统,包括查询建立器模块,用于判断所述搜索请求是否包括预定阈值最小数目的约束,并且其中所述精简约束建立器模块在约束的数目超过所述约束的预定阈值最小数目的情况下编制所述多个搜索定义。
5.如权利要求1所述的系统,其中所述搜索引擎用于基于所述数据搜索请求来执行搜索,并且其中所述精简约束建立器模块用于在找到的数据项目的数目超过数据项目的预定阈值最小数目的情况下编制所述多个搜索定义。
6.如权利要求1所述的系统,包括扩展模块,用于将包括在所述数据搜索请求中的预定约束集合标识为一个原子约束,并且其中所述精简约束建立器模块通过利用所述原子约束识别数据项目来编制所述多个搜索定义。
7.如权利要求1所述的系统,包括扩展模块,用于自动扩展包括在所述搜索请求中的至少一个约束。
8.如权利要求7所述的系统,其中所述扩展模块自动扩展所述至少一个约束以生成如下表达式:所述表达式包括所述至少一个约束和被自动确定为对应于所述至少一个约束的进一步的约束。
9.如权利要求1所述的系统,其中所述精简约束建立器模块判断所述约束集合是否包括从所述约束集合中排除的第一约束,如果是,则从所述约束集合中排除第二约束。
10.如权利要求7所述的系统,其中所述扩展模块将关键字约束扩展为搜索参数约束,并且其中所述扩展模块将搜索参数约束扩展为关键字约束。
11.一种计算机实现的用于处理数据搜索请求的方法,该方法包括:
经由计算机系统的接口接收所述数据搜索请求,所述数据搜索请求包括多个约束;
在所述计算机系统内编制多个搜索定义,所述多个搜索定义的子集中的每个搜索定义是利用所述多个约束来编制的并且排除至少一个约束;
执行对数据源的多个搜索以生成多个搜索结果;
利用所述多个搜索结果在所述计算机系统中计算多个数据项目计数,所述多个数据项目计数分别对应于所述多个搜索定义的所述子集;以及
经由所述计算机系统的所述接口将所述多个数据项目计数和相应的所述多个搜索定义的所述子集传输到客户端机器,
其中所述搜索定义中的每一个被编制为包括一个约束集合,并且其中所述约束集合中的约束是从包括关键字约束、类别约束、搜索参数约束和属性约束的群组中选出的。
12.如权利要求11所述的计算机实现的方法,其中所述传输包括以列表的形式传输每个约束集合,以此方式来识别所述多个约束中已经从各个约束集合中排除的至少一个约束。
13.如权利要求11所述的计算机实现的方法,包括判断与排除的约束相关联的约束集合是否对应于与在不排除约束的情况下的约束集合相关联的数据项目计数相等的数据项目计数,如果是,则不显示与所述排除的约束相关联的搜索定义。
14.如权利要求11所述的计算机实现的方法,其中所述多个搜索定义的编制包括从所述搜索定义中的每一个中删除预定约束。
15.如权利要求11所述的计算机实现的方法,包括判断所述搜索请求是否包括预定阈值最大数目的约束,并且如果约束的数目超过所述约束的预定阈值最大数目,则编制所述多个搜索定义。
16.如权利要求11所述的计算机实现的方法,包括基于所述数据搜索请求来执行搜索,并且如果找到的数据项目的数目超过数据项目的预定阈值最小数目,则编制所述多个搜索定义。
17.如权利要求11所述的计算机实现的方法,包括将包括在所述搜索请求中的预定集合标识为一个原子约束,并且通过利用所述原子约束识别数据项目来编制所述多个搜索定义。
18.如权利要求11所述的计算机实现的方法,自动扩展包括在所述搜索请求中的至少一个约束。
19.如权利要求18所述的计算机实现的方法,其中所述自动扩展至少一个约束包括生成如下表达式:所述表达式包括所述至少一个约束和被自动确定为对应于所述至少一个约束的进一步的约束。
20.如权利要求11所述的计算机实现的方法,包括判断所述约束集合是否包括从所述约束集合中排除的第一约束,如果是,则从所述约束集合中排除第二约束。
21.如权利要求18所述的计算机实现的方法,其中所述自动扩展包括扩展包括关键字约束和搜索参数约束的约束群组中的任意一种。
22.如权利要求18所述的计算机实现的方法,其中所述自动扩展包括从搜索参数约束扩展到关键字约束,并且其中所述自动扩展包括将关键字约束扩展到搜索参数约束。
23.一种存储指令序列的机器可读介质,当所述指令序列被机器执行时,致使所述机器执行如权利要求11所述的方法。
24.一种用于处理数据搜索请求的系统,该系统包括:
查询控制器模块,用于接收所述数据搜索请求,所述数据搜索请求包括多个约束,所述约束包含第一关键字;
扩展模块,用于将所述第一关键字关联到多个类别;
精简约束建立器模块,用于编制包括所述多个类别的搜索定义;以及
搜索引擎,用于基于所述搜索定义来执行对数据源的搜索。
25.如权利要求24所述的系统,其中所述扩展模块将第二关键字关联到包括在所述搜索定义中的第二约束,所述第二约束包括一组所述第二关键字的替换形式中的任意一种,所述一组所述第二关键字的替换形式包括所述第二关键字的复数形式、所述第二关键字的替换拼写、所述第二关键字的替换单词形式、所述第二关键字的反义词和所述第二关键字的同义词。
26.如权利要求24所述的系统,其中所述扩展模块将包括在所述搜索请求中的约束的预定集合标识为一个原子约束,并且其中所述精简约束建立器模块利用所述原子约束来编制所述搜索定义。
27.一种计算机实现的用于处理数据搜索请求的方法,该方法包括:
接收所述数据搜索请求,所述数据搜索请求包括多个约束,所述约束包含第一关键字;
将所述第一关键字关联到多个类别;
编制包括所述多个类别的搜索定义;以及
基于所述搜索定义来执行对数据源的搜索。
28.如权利要求27所述的计算机实现的方法,其中所述多个约束包括在所述搜索定义中利用的第二关键字。
29.如权利要求27所述的计算机实现的方法,包括将所述第二关键字关联到包括在所述搜索定义中的第二约束,所述第二约束包括一组所述第二关键字的替换形式中的任意一种,所述一组所述第二关键字的替换形式包括所述第二关键字的复数形式、所述第二关键字的替换拼写、所述第二关键字的替换单词形式、所述第二关键字的反义词和所述第二关键字的同义词。
30.一种存储指令序列的机器可读介质,当所述指令序列被机器执行时,致使所述机器执行如权利要求27所述的方法。
CN200580051098.2A 2005-05-16 2005-05-16 用于处理数据搜索请求的方法和系统 Active CN101366024B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410318343.2A CN104166677B (zh) 2005-05-16 2005-05-16 用于处理数据搜索请求的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2005/017024 WO2006124027A1 (en) 2005-05-16 2005-05-16 Method and system to process a data search request

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201410318343.2A Division CN104166677B (zh) 2005-05-16 2005-05-16 用于处理数据搜索请求的方法和系统

Publications (2)

Publication Number Publication Date
CN101366024A true CN101366024A (zh) 2009-02-11
CN101366024B CN101366024B (zh) 2014-07-30

Family

ID=37431524

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200580051098.2A Active CN101366024B (zh) 2005-05-16 2005-05-16 用于处理数据搜索请求的方法和系统

Country Status (4)

Country Link
US (2) US8332383B2 (zh)
EP (1) EP1889181A4 (zh)
CN (1) CN101366024B (zh)
WO (1) WO2006124027A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882065A (zh) * 2009-05-07 2010-11-10 张金滔 一种在计算机软件中实现由用户直接发指令的方法
CN105183826A (zh) * 2015-08-31 2015-12-23 苏州点通教育科技有限公司 在线导学本发布与测试系统及方法

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761569B2 (en) 2004-01-23 2010-07-20 Tiversa, Inc. Method for monitoring and providing information over a peer to peer network
US8156175B2 (en) 2004-01-23 2012-04-10 Tiversa Inc. System and method for searching for specific types of people or information on a peer-to-peer network
US20060224571A1 (en) 2005-03-30 2006-10-05 Jean-Michel Leon Methods and systems to facilitate searching a data resource
WO2006124027A1 (en) 2005-05-16 2006-11-23 Ebay Inc. Method and system to process a data search request
US8195683B2 (en) 2006-02-28 2012-06-05 Ebay Inc. Expansion of database search queries
EP2082326A4 (en) 2006-11-07 2012-02-15 Tiversa Inc SYSTEM AND METHOD FOR PROVIDING BETTER EXPERIENCE WITH A POST-TO-POST NETWORK
US7720826B2 (en) * 2006-12-29 2010-05-18 Sap Ag Performing a query for a rule in a database
JP5174888B2 (ja) * 2007-04-12 2013-04-03 タイヴァーサ・インコーポレーテッド ピア・ツー・ピア・ネットワーク関連のアプリケーションの共有情報リストを作成するシステム及びその方法
US8868620B2 (en) * 2007-06-08 2014-10-21 International Business Machines Corporation Techniques for composing data queries
JP5539863B2 (ja) 2007-06-11 2014-07-02 タイヴァーサ・インコーポレーテッド P2pネットワーク上で広告をするためのシステム及び方法
US7792813B2 (en) * 2007-08-31 2010-09-07 Microsoft Corporation Presenting result items based upon user behavior
US8171007B2 (en) * 2008-04-18 2012-05-01 Microsoft Corporation Creating business value by embedding domain tuned search on web-sites
US8195641B2 (en) * 2008-04-21 2012-06-05 Microsoft Corporation Query authoring by modifying a view of the results of the query
US8504582B2 (en) * 2008-12-31 2013-08-06 Ebay, Inc. System and methods for unit of measurement conversion and search query expansion
US8386406B2 (en) * 2009-07-08 2013-02-26 Ebay Inc. Systems and methods for making contextual recommendations
US8271433B2 (en) * 2009-12-30 2012-09-18 Nokia Corporation Method and apparatus for providing automatic controlled value expansion of information
US8972431B2 (en) * 2010-05-06 2015-03-03 Salesforce.Com, Inc. Synonym supported searches
US20120330778A1 (en) * 2011-05-23 2012-12-27 Garrett Eastham Product comparison and feature discovery
US8965915B2 (en) 2013-03-17 2015-02-24 Alation, Inc. Assisted query formation, validation, and result previewing in a database having a complex schema
US9256687B2 (en) * 2013-06-28 2016-02-09 International Business Machines Corporation Augmenting search results with interactive search matrix
US9298785B2 (en) 2013-07-19 2016-03-29 Paypal, Inc. Methods, systems, and apparatus for generating search results
CN104915353B (zh) * 2014-03-13 2018-03-23 中国电信股份有限公司 分布式数据库下全局主键生成方法和系统
US20160092569A1 (en) 2014-09-30 2016-03-31 International Business Machines Corporation Policy driven contextual search
US11256710B2 (en) 2016-10-20 2022-02-22 Microsoft Technology Licensing, Llc String transformation sub-program suggestion
US11620304B2 (en) 2016-10-20 2023-04-04 Microsoft Technology Licensing, Llc Example management for string transformation
US10846298B2 (en) 2016-10-28 2020-11-24 Microsoft Technology Licensing, Llc Record profiling for dataset sampling

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6363377B1 (en) * 1998-07-30 2002-03-26 Sarnoff Corporation Search data processor
US20020184206A1 (en) * 1997-07-25 2002-12-05 Evans David A. Method for cross-linguistic document retrieval
US20030014405A1 (en) * 2001-07-09 2003-01-16 Jacob Shapiro Search engine designed for handling long queries
US20030212666A1 (en) * 2002-05-10 2003-11-13 Sankar Basu Adaptive probabilistic query expansion

Family Cites Families (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3266246B2 (ja) * 1990-06-15 2002-03-18 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン 自然言語解析装置及び方法並びに自然言語解析用知識ベース構築方法
US5278980A (en) * 1991-08-16 1994-01-11 Xerox Corporation Iterative technique for phrase query formation and an information retrieval system employing same
US5642502A (en) * 1994-12-06 1997-06-24 University Of Central Florida Method and system for searching for relevant documents from a text database collection, using statistical ranking, relevancy feedback and small pieces of text
US5717913A (en) * 1995-01-03 1998-02-10 University Of Central Florida Method for detecting and extracting text data using database schemas
EP0743531A3 (en) * 1995-05-16 1997-04-23 Hewlett Packard Co Battery holder for exchanging information with a battery mailbox
US5724571A (en) * 1995-07-07 1998-03-03 Sun Microsystems, Inc. Method and apparatus for generating query responses in a computer-based document retrieval system
US5926811A (en) * 1996-03-15 1999-07-20 Lexis-Nexis Statistical thesaurus, method of forming same, and use thereof in query expansion in automated text searching
US6076051A (en) 1997-03-07 2000-06-13 Microsoft Corporation Information retrieval utilizing semantic representation of text
US6081774A (en) * 1997-08-22 2000-06-27 Novell, Inc. Natural language information retrieval system and method
US6182133B1 (en) * 1998-02-06 2001-01-30 Microsoft Corporation Method and apparatus for display of information prefetching and cache status having variable visual indication based on a period of time since prefetching
US6330576B1 (en) * 1998-02-27 2001-12-11 Minolta Co., Ltd. User-friendly information processing device and method and computer program product for retrieving and displaying objects
US7124129B2 (en) * 1998-03-03 2006-10-17 A9.Com, Inc. Identifying the items most relevant to a current query based on items selected in connection with similar queries
US6006225A (en) * 1998-06-15 1999-12-21 Amazon.Com Refining search queries by the suggestion of correlated terms from prior searches
US6144958A (en) * 1998-07-15 2000-11-07 Amazon.Com, Inc. System and method for correcting spelling errors in search queries
US6466901B1 (en) * 1998-11-30 2002-10-15 Apple Computer, Inc. Multi-language document search and retrieval system
US6411950B1 (en) * 1998-11-30 2002-06-25 Compaq Information Technologies Group, Lp Dynamic query expansion
US8275661B1 (en) * 1999-03-31 2012-09-25 Verizon Corporate Services Group Inc. Targeted banner advertisements
US6598039B1 (en) * 1999-06-08 2003-07-22 Albert-Inc. S.A. Natural language interface for searching database
US8849693B1 (en) * 1999-07-12 2014-09-30 Verizon Laboratories Inc. Techniques for advertising in electronic commerce
US7181438B1 (en) * 1999-07-21 2007-02-20 Alberti Anemometer, Llc Database access system
JP2001092813A (ja) * 1999-09-21 2001-04-06 Matsushita Graphic Communication Systems Inc デジタル複合機及びこれに接続されるデータ端末装置
US7630986B1 (en) * 1999-10-27 2009-12-08 Pinpoint, Incorporated Secure data interchange
US6963867B2 (en) * 1999-12-08 2005-11-08 A9.Com, Inc. Search query processing to provide category-ranked presentation of search results
US6785671B1 (en) * 1999-12-08 2004-08-31 Amazon.Com, Inc. System and method for locating web-based product offerings
IL134893A0 (en) * 2000-03-06 2001-05-20 Joinweb Inc Method and system for locating internet users having similar navigation patterns
US20010047353A1 (en) * 2000-03-30 2001-11-29 Iqbal Talib Methods and systems for enabling efficient search and retrieval of records from a collection of biological data
US7120574B2 (en) 2000-04-03 2006-10-10 Invention Machine Corporation Synonym extension of search queries with validation
US6516312B1 (en) * 2000-04-04 2003-02-04 International Business Machine Corporation System and method for dynamically associating keywords with domain-specific search engine queries
US8396859B2 (en) * 2000-06-26 2013-03-12 Oracle International Corporation Subject matter context search engine
US7027975B1 (en) * 2000-08-08 2006-04-11 Object Services And Consulting, Inc. Guided natural language interface system and method
EP1325430A2 (en) 2000-09-29 2003-07-09 Axonwave Software Inc. A method and system for adapting synonym resources to specific domains
US7308445B2 (en) * 2000-11-08 2007-12-11 Overture Services, Inc. Method for estimating coverage of web search engines
US6925458B2 (en) * 2000-12-20 2005-08-02 Michael A. Scaturro System and method for providing an activity schedule of a public person over a network
JP2002288201A (ja) * 2001-03-23 2002-10-04 Fujitsu Ltd 質問応答処理方法,質問応答処理プログラム,質問応答処理プログラム記録媒体および質問応答処理装置
US20020169771A1 (en) * 2001-05-09 2002-11-14 Melmon Kenneth L. System & method for facilitating knowledge management
US20040230572A1 (en) * 2001-06-22 2004-11-18 Nosa Omoigui System and method for semantic knowledge retrieval, management, capture, sharing, discovery, delivery and presentation
JP2004534324A (ja) * 2001-07-04 2004-11-11 コギズム・インターメディア・アーゲー 索引付きの拡張可能な対話的文書検索システム
US20050022114A1 (en) * 2001-08-13 2005-01-27 Xerox Corporation Meta-document management system with personality identifiers
US6778979B2 (en) * 2001-08-13 2004-08-17 Xerox Corporation System for automatically generating queries
US7403938B2 (en) * 2001-09-24 2008-07-22 Iac Search & Media, Inc. Natural language query processing
US7177935B2 (en) * 2001-10-05 2007-02-13 International Business Machines Corporation Storage area network methods and apparatus with hierarchical file system extension policy
US6854035B2 (en) * 2001-10-05 2005-02-08 International Business Machines Corporation Storage area network methods and apparatus for display and management of a hierarchical file system extension policy
NO316480B1 (no) * 2001-11-15 2004-01-26 Forinnova As Fremgangsmåte og system for tekstuell granskning og oppdagelse
GB2382678A (en) * 2001-11-28 2003-06-04 Symbio Ip Ltd a knowledge database
US6941293B1 (en) * 2002-02-01 2005-09-06 Google, Inc. Methods and apparatus for determining equivalent descriptions for an information need
EP1473639A1 (en) * 2002-02-04 2004-11-03 Celestar Lexico-Sciences, Inc. Document knowledge management apparatus and method
US7421660B2 (en) * 2003-02-04 2008-09-02 Cataphora, Inc. Method and apparatus to visually present discussions for data mining purposes
US7031969B2 (en) * 2002-02-20 2006-04-18 Lawrence Technologies, Llc System and method for identifying relationships between database records
DE10209928A1 (de) * 2002-03-07 2003-09-18 Philips Intellectual Property Verfahren zum Betrieb eines Sprach-Dialogsystems
US7693830B2 (en) * 2005-08-10 2010-04-06 Google Inc. Programmable search engine
US20030220917A1 (en) * 2002-04-03 2003-11-27 Max Copperman Contextual search
US7610236B2 (en) * 2002-04-10 2009-10-27 Combinenet, Inc. Method and apparatus for forming expressive combinatorial auctions and exchanges
US7080059B1 (en) * 2002-05-13 2006-07-18 Quasm Corporation Search and presentation engine
US20050050030A1 (en) * 2003-01-30 2005-03-03 Decode Genetics Ehf. Set definition language for relational data
US7287025B2 (en) * 2003-02-12 2007-10-23 Microsoft Corporation Systems and methods for query expansion
US6947930B2 (en) * 2003-03-21 2005-09-20 Overture Services, Inc. Systems and methods for interactive search query refinement
US7885963B2 (en) * 2003-03-24 2011-02-08 Microsoft Corporation Free text and attribute searching of electronic program guide (EPG) data
US20040199491A1 (en) * 2003-04-04 2004-10-07 Nikhil Bhatt Domain specific search engine
US7007014B2 (en) * 2003-04-04 2006-02-28 Yahoo! Inc. Canonicalization of terms in a keyword-based presentation system
US7502352B2 (en) * 2003-05-16 2009-03-10 Alcatel-Lucent Usa Inc. Scheduling method for quality of service differentiation for non-real time services in packet radio networks
US20050027705A1 (en) * 2003-05-20 2005-02-03 Pasha Sadri Mapping method and system
US20040243560A1 (en) * 2003-05-30 2004-12-02 International Business Machines Corporation System, method and computer program product for performing unstructured information management and automatic text analysis, including an annotation inverted file system facilitating indexing and searching
US7139752B2 (en) * 2003-05-30 2006-11-21 International Business Machines Corporation System, method and computer program product for performing unstructured information management and automatic text analysis, and providing multiple document views derived from different document tokenizations
TW200512602A (en) 2003-09-19 2005-04-01 Hon Hai Prec Ind Co Ltd Method and system of fuzzy searching
US7516086B2 (en) * 2003-09-24 2009-04-07 Idearc Media Corp. Business rating placement heuristic
US20050131872A1 (en) * 2003-12-16 2005-06-16 Microsoft Corporation Query recognizer
US20050154713A1 (en) * 2004-01-14 2005-07-14 Nec Laboratories America, Inc. Systems and methods for determining document relationship and automatic query expansion
US7711596B2 (en) * 2004-02-14 2010-05-04 Cristol Steven M Business method for integrating and aligning product development and brand strategy
US7254774B2 (en) * 2004-03-16 2007-08-07 Microsoft Corporation Systems and methods for improved spell checking
US20050210008A1 (en) * 2004-03-18 2005-09-22 Bao Tran Systems and methods for analyzing documents over a network
US7519595B2 (en) * 2004-07-14 2009-04-14 Microsoft Corporation Method and system for adaptive categorial presentation of search results
US8050907B2 (en) * 2004-07-30 2011-11-01 Microsoft Corporation Generating software components from business rules expressed in a natural language
US20060036503A1 (en) * 2004-08-12 2006-02-16 Rene Schweier Method for selecting and purchasing a gift
US20060074980A1 (en) * 2004-09-29 2006-04-06 Sarkar Pte. Ltd. System for semantically disambiguating text information
US7668889B2 (en) * 2004-10-27 2010-02-23 At&T Intellectual Property I, Lp Method and system to combine keyword and natural language search results
US7386521B2 (en) * 2005-01-21 2008-06-10 Intranational Business Machines Corporation Automatic test program generation using extended conditional constraint satisfaction
US7644011B2 (en) * 2005-01-26 2010-01-05 Gary Shkedy Method and apparatus for determining investment manager skill
WO2006124027A1 (en) 2005-05-16 2006-11-23 Ebay Inc. Method and system to process a data search request
US8260771B1 (en) * 2005-07-22 2012-09-04 A9.Com, Inc. Predictive selection of item attributes likely to be useful in refining a search
US8433711B2 (en) * 2005-09-09 2013-04-30 Kang Jo Mgmt. Limited Liability Company System and method for networked decision making support
US8195683B2 (en) * 2006-02-28 2012-06-05 Ebay Inc. Expansion of database search queries
US7788276B2 (en) * 2007-08-22 2010-08-31 Yahoo! Inc. Predictive stemming for web search with statistical machine translation models

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020184206A1 (en) * 1997-07-25 2002-12-05 Evans David A. Method for cross-linguistic document retrieval
US6363377B1 (en) * 1998-07-30 2002-03-26 Sarnoff Corporation Search data processor
US20030014405A1 (en) * 2001-07-09 2003-01-16 Jacob Shapiro Search engine designed for handling long queries
US20030212666A1 (en) * 2002-05-10 2003-11-13 Sankar Basu Adaptive probabilistic query expansion

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882065A (zh) * 2009-05-07 2010-11-10 张金滔 一种在计算机软件中实现由用户直接发指令的方法
CN101882065B (zh) * 2009-05-07 2013-10-16 张金滔 一种在计算机软件中实现由用户直接发指令的方法
CN105183826A (zh) * 2015-08-31 2015-12-23 苏州点通教育科技有限公司 在线导学本发布与测试系统及方法

Also Published As

Publication number Publication date
US20060265391A1 (en) 2006-11-23
WO2006124027A1 (en) 2006-11-23
EP1889181A1 (en) 2008-02-20
US8332383B2 (en) 2012-12-11
US20130086034A1 (en) 2013-04-04
EP1889181A4 (en) 2009-12-02
CN101366024B (zh) 2014-07-30

Similar Documents

Publication Publication Date Title
CN101366024B (zh) 用于处理数据搜索请求的方法和系统
US8280879B2 (en) System and method for quantifying visibility within search engines
EP1389322B1 (en) Search query autocompletion
US6564210B1 (en) System and method for searching databases employing user profiles
US8019752B2 (en) System and method for information retrieval from object collections with complex interrelationships
JP5808384B2 (ja) ユーザ注釈を一体化したサーチシステム及び方法
US20180101621A1 (en) Identifier vocabulary data access method and system
KR100851710B1 (ko) 측면 검색
USRE44794E1 (en) Method and apparatus for representing and navigating search results
US8249885B2 (en) Knowledge-based e-catalog procurement system and method
AU2010202828B2 (en) System to generate related search queries
CN101408894B (zh) 使用语义关键词改进搜索相关性
US9703831B2 (en) Contextual display of saved search queries
US20020024532A1 (en) Dynamic personalization method of creating personalized user profiles for searching a database of information
CN101116072A (zh) 用于分类呈现搜索结果的方法和系统
CN102591969A (zh) 基于用户历史行为提供搜索结果的方法及服务器
US20080021850A1 (en) Adapting to inexact user input
JPH11338879A (ja) 求人求職仲介システム
US20210149979A1 (en) System and Method for Accessing and Managing Cognitive Knowledge
JP4973503B2 (ja) ファイル検索プログラム、方法及び装置
KR20190109628A (ko) 개인화된 기사 컨텐츠 제공 방법 및 장치
CN104166677A (zh) 用于处理数据搜索请求的方法和系统
KR20050109106A (ko) 통합 검색 결과를 효율적으로 제공하는 검색 서비스 제공방법 및 시스템
CN113569132A (zh) 一种信息检索展示方法及系统
JP3526198B2 (ja) データベース類似検索方法及び装置及び類似検索プログラムを格納した記憶媒体

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20151104

Address after: American California

Patentee after: EBAY INC

Address before: American California

Patentee before: Electonic Bay