CN101366024B - 用于处理数据搜索请求的方法和系统 - Google Patents
用于处理数据搜索请求的方法和系统 Download PDFInfo
- Publication number
- CN101366024B CN101366024B CN200580051098.2A CN200580051098A CN101366024B CN 101366024 B CN101366024 B CN 101366024B CN 200580051098 A CN200580051098 A CN 200580051098A CN 101366024 B CN101366024 B CN 101366024B
- Authority
- CN
- China
- Prior art keywords
- constraint
- search
- data
- definition
- data items
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90324—Query formulation using system suggestions
- G06F16/90328—Query formulation using system suggestions using search space presentation or visualization, e.g. category or range presentation and selection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3338—Query expansion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
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的搜索定义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”可能总是被排除在一起 。在一个实施例中,在客户端机器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(例如类别:,搜索定义304排除了原子关键字约束104(例如),而搜索定义306和308两者排除了属性约束106(例如和)。此外,搜索定义306示出属性约束106“Publisher Country”和“Publisher City”之间的父子关系。例如,排除了并且包括“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 (18)
1.一种用于处理数据搜索请求的系统,该系统包括:
查询控制器模块,用于经由计算机系统的接口接收所述数据搜索请求,所述数据搜索请求包括多个约束;
扩展模块,用于将包括在所述数据搜索请求中的、来自所述多个约束的预定约束集合标识为一个原子约束,并且自动扩展包括在所述数据搜索请求中的至少一个约束;
查询建立器模块,用于判断所述数据搜索请求是否包括预定阈值最小数目的约束;
精简约束建立器模块,用于在约束的数目超过所述约束的预定阈值最小数目的情况下在所述计算机系统内编制多个搜索定义,所述精简约束建立器模块通过利用所述原子约束识别数据项目来编制所述多个搜索定义,每个搜索定义包括一个约束集合,所述约束集合包括所述多个约束的一个子集并且被编制为排除所述多个约束中的至少一个约束;
搜索引擎,用于利用所述多个搜索定义执行对数据源的多个搜索以生成多个搜索结果,并且利用所述多个搜索结果来在所述计算机系统中计算每个搜索定义的相应数据项目计数,以及
所述查询控制器模块用于经由所述计算机系统的所述接口将多个数据项目计数和相应的搜索定义传输到客户端机器,
其中每个约束集合中的约束是从包括关键字约束和搜索参数约束的群组中选出的。
2.如权利要求1所述的系统,其中所述查询控制器模块以列表的形式传输每个约束集合,以此方式来识别所述多个约束中已经从各个约束集合中排除的至少一个约束。
3.如权利要求1所述的系统,其中所述精简约束建立器模块判断与排除的约束相关联的约束集合是否对应于与在不排除约束的情况下的约束集合相关联的数据项目计数相等的数据项目计数,如果是,则不显示与所述排除的约束相关联的搜索定义。
4.如权利要求1所述的系统,其中所述搜索引擎用于基于所述数据搜索请求来执行搜索,并且其中所述精简约束建立器模块用于在作为基于所述数据搜索请求的搜索的结果而找到的数据项目的数目超过数据项目的预定阈值最小数目的情况下编制所述多个搜索定义。
5.如权利要求1所述的系统,其中所述扩展模块通过生成如下表达式来自动扩展所述至少一个约束:所述表达式包括所述至少一个约束和被自动确定为对应于所述至少一个约束的进一步的约束。
6.如权利要求1所述的系统,其中所述精简约束建立器模块判断所述约束集合是否从所述约束集合中排除了第一约束,如果是,则基于形成原子约束的第二约束和所述第一约束从所述约束集合中排除所述第二约束。
7.如权利要求1所述的系统,其中所述扩展模块将关键字约束扩展为搜索参数约束,并且其中所述扩展模块将搜索参数约束扩展为关键字约束。
8.一种计算机实现的用于处理数据搜索请求的方法,该方法包括:
经由计算机系统的接口接收所述数据搜索请求,所述数据搜索请求包括多个约束;
将包括在所述数据搜索请求中的、来自所述多个约束的预定约束集合标识为一个原子约束;
自动扩展包括在所述数据搜索请求中的至少一个约束;
判断所述数据搜索请求是否包括预定阈值最小数目的约束;
在约束的数目超过所述约束的预定阈值最小数目的情况下,利用所述原子约束识别数据项目,来在所述计算机系统内编制多个搜索定义,每个搜索定义包括一个约束集合,所述约束集合包括所述多个约束的一个子集并且被编制为排除所述多个约束中的至少一个约束;
利用所述多个搜索定义执行对数据源的多个搜索以生成多个搜索结果;
利用所述多个搜索结果在所述计算机系统中计算每个搜索定义的相应数据项目计数;以及
经由所述计算机系统的所述接口将多个数据项目计数和相应的搜索定义传输到客户端机器,
其中每个约束集合中的约束是从包括关键字约束、类别约束、搜索参数约束和属性约束的群组中选出的。
9.如权利要求8所述的计算机实现的方法,其中所述传输包括以列表的形式传输每个约束集合,以此方式来识别所述多个约束中已经从各个约束集合中排除的至少一个约束。
10.如权利要求8所述的计算机实现的方法,包括判断与排除的约束相关联的约束集合是否对应于与在不排除约束的情况下的约束集合相关联的数据项目计数相等的数据项目计数,如果是,则不显示与所述排除的约束相关联的搜索定义。
11.如权利要求8所述的计算机实现的方法,其中所述多个搜索定义的编制包括从所述搜索定义中的每一个中删除预定约束。
12.如权利要求8所述的计算机实现的方法,包括判断所述搜索请求是否包括预定阈值最大数目的约束,并且如果约束的数目未超过所述约束的预定阈值最大数目,则编制所述多个搜索定义。
13.如权利要求8所述的计算机实现的方法,包括基于所述数据搜索请求来执行搜索,并且如果作为基于所述数据搜索请求的搜索的结果而找到的数据项目的数目超过数据项目的预定阈值最小数目,则编制所述多个搜索定义。
14.如权利要求8所述的计算机实现的方法,其中所述自动扩展至少一个约束包括生成如下表达式:所述表达式包括所述至少一个约束和被自动确定为对应于所述至少一个约束的进一步的约束。
15.如权利要求8所述的计算机实现的方法,包括判断所述约束集合是否从所述约束集合中排除了第一约束,如果是,则基于形成原子约束的第二约束和所述第一约束从所述约束集合中排除所述第二约束。
16.如权利要求8所述的计算机实现的方法,其中所述自动扩展包括扩展包括关键字约束和搜索参数约束的约束群组中的任意一种。
17.如权利要求8所述的计算机实现的方法,其中所述自动扩展包括从搜索参数约束扩展到关键字约束,并且其中所述自动扩展包括将关键字约束扩展到搜索参数约束。
18.一种计算机实现的用于处理数据搜索请求的设备,该设备包括:
用于经由计算机系统的接口接收所述数据搜索请求的装置,所述数据搜索请求包括多个约束;
用于将包括在所述数据搜索请求中的、来自所述多个约束的预定约束集合标识为一个原子约束的装置;
用于自动扩展包括在所述数据搜索请求中的至少一个约束的装置;
用于判断所述数据搜索请求是否包括预定阈值最小数目的约束的装置;
用于在约束的数目超过所述约束的预定阈值最小数目的情况下,利用所述原子约束识别数据项目,来在所述计算机系统内编制多个搜索定义的装置,每个搜索定义包括一个约束集合,所述约束集合包括所述多个约束的一个子集并且被编制为排除所述多个约束中的至少一个约束;
用于利用所述多个搜索定义执行对数据源的多个搜索以生成多个搜索结果的装置;
用于利用所述多个搜索结果在所述计算机系统中计算每个搜索定义的相应数据项目计数的装置;以及
用于经由所述计算机系统的所述接口将多个数据项目计数和相应的搜索定义传输到客户端机器的装置,
其中每个约束集合中的约束是从包括关键字约束、类别约束、搜索参数约束和属性约束的群组中选出的。
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 CN101366024A (zh) | 2009-02-11 |
CN101366024B true 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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9916349B2 (en) | 2006-02-28 | 2018-03-13 | Paypal, Inc. | Expansion of database search queries |
Families Citing this family (27)
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 |
US7882447B2 (en) | 2005-03-30 | 2011-02-01 | Ebay Inc. | Method and system to determine area on a user interface |
EP1889181A4 (en) | 2005-05-16 | 2009-12-02 | Ebay Inc | METHOD AND SYSTEM FOR SEARCHING SEARCH |
BRPI0718582A8 (pt) | 2006-11-07 | 2018-05-22 | Tiversa Ip Inc | Sistema e método para experiência aprimorada com uma rede ponto a ponto |
US7720826B2 (en) * | 2006-12-29 | 2010-05-18 | Sap Ag | Performing a query for a rule in a database |
CA2683600C (en) * | 2007-04-12 | 2017-07-04 | Tiversa, Inc. | A system and method for creating a list of shared information on a peer-to-peer network |
US8868620B2 (en) * | 2007-06-08 | 2014-10-21 | International Business Machines Corporation | Techniques for composing data queries |
BRPI0813820A2 (pt) | 2007-06-11 | 2015-01-06 | Tiversa Inc | Sistema e método para publicidade em uma rede par a par. |
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 |
CN101882065B (zh) * | 2009-05-07 | 2013-10-16 | 张金滔 | 一种在计算机软件中实现由用户直接发指令的方法 |
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 |
CN105183826A (zh) * | 2015-08-31 | 2015-12-23 | 苏州点通教育科技有限公司 | 在线导学本发布与测试系统及方法 |
US11620304B2 (en) | 2016-10-20 | 2023-04-04 | Microsoft Technology Licensing, Llc | Example management for string transformation |
US11256710B2 (en) | 2016-10-20 | 2022-02-22 | Microsoft Technology Licensing, Llc | String transformation sub-program suggestion |
US10846298B2 (en) | 2016-10-28 | 2020-11-24 | Microsoft Technology Licensing, Llc | Record profiling for dataset sampling |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6363377B1 (en) * | 1998-07-30 | 2002-03-26 | Sarnoff Corporation | Search data processor |
Family Cites Families (85)
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 |
US6055528A (en) | 1997-07-25 | 2000-04-25 | Claritech Corporation | Method for cross-linguistic document retrieval |
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 |
US6411950B1 (en) | 1998-11-30 | 2002-06-25 | Compaq Information Technologies Group, Lp | Dynamic query expansion |
US6466901B1 (en) * | 1998-11-30 | 2002-10-15 | Apple Computer, Inc. | Multi-language document search and retrieval system |
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 |
US6785671B1 (en) * | 1999-12-08 | 2004-08-31 | Amazon.Com, Inc. | System and method for locating web-based product offerings |
US6963867B2 (en) * | 1999-12-08 | 2005-11-08 | A9.Com, Inc. | Search query processing to provide category-ranked presentation of search results |
IL134893A0 (en) * | 2000-03-06 | 2001-05-20 | Joinweb Inc | Method and system for locating internet users having similar navigation patterns |
US20010049674A1 (en) * | 2000-03-30 | 2001-12-06 | Iqbal Talib | Methods and systems for enabling efficient employment recruiting |
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 |
US7330811B2 (en) | 2000-09-29 | 2008-02-12 | Axonwave Software, Inc. | 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 |
WO2003005235A1 (en) | 2001-07-04 | 2003-01-16 | Cogisum Intermedia Ag | Category based, extensible and interactive system for document retrieval |
US20030014405A1 (en) * | 2001-07-09 | 2003-01-16 | Jacob Shapiro | Search engine designed for handling long queries |
US6778979B2 (en) * | 2001-08-13 | 2004-08-17 | Xerox Corporation | System for automatically generating queries |
US20050022114A1 (en) * | 2001-08-13 | 2005-01-27 | Xerox Corporation | Meta-document management system with personality identifiers |
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 |
US7421660B2 (en) * | 2003-02-04 | 2008-09-02 | Cataphora, Inc. | Method and apparatus to visually present discussions for data mining purposes |
US20050154690A1 (en) | 2002-02-04 | 2005-07-14 | Celestar Lexico-Sciences, Inc | Document knowledge management apparatus and method |
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 |
US7437349B2 (en) * | 2002-05-10 | 2008-10-14 | International Business Machines Corporation | Adaptive probabilistic query expansion |
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 |
US7007014B2 (en) * | 2003-04-04 | 2006-02-28 | Yahoo! Inc. | Canonicalization of terms in a keyword-based presentation system |
US20040199491A1 (en) * | 2003-04-04 | 2004-10-07 | Nikhil Bhatt | Domain specific search engine |
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 |
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 |
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 |
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 |
EP1889181A4 (en) | 2005-05-16 | 2009-12-02 | Ebay Inc | METHOD AND SYSTEM FOR SEARCHING SEARCH |
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 |
-
2005
- 2005-05-16 EP EP05770183A patent/EP1889181A4/en not_active Ceased
- 2005-05-16 CN CN200580051098.2A patent/CN101366024B/zh active Active
- 2005-05-16 WO PCT/US2005/017024 patent/WO2006124027A1/en active Application Filing
- 2005-09-29 US US11/238,643 patent/US8332383B2/en active Active
-
2012
- 2012-11-26 US US13/685,453 patent/US20130086034A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6363377B1 (en) * | 1998-07-30 | 2002-03-26 | Sarnoff Corporation | Search data processor |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9916349B2 (en) | 2006-02-28 | 2018-03-13 | Paypal, Inc. | Expansion of database search queries |
Also Published As
Publication number | Publication date |
---|---|
EP1889181A1 (en) | 2008-02-20 |
US8332383B2 (en) | 2012-12-11 |
WO2006124027A1 (en) | 2006-11-23 |
US20060265391A1 (en) | 2006-11-23 |
US20130086034A1 (en) | 2013-04-04 |
CN101366024A (zh) | 2009-02-11 |
EP1889181A4 (en) | 2009-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101366024B (zh) | 用于处理数据搜索请求的方法和系统 | |
US11693864B2 (en) | Methods of and systems for searching by incorporating user-entered information | |
US8019752B2 (en) | System and method for information retrieval from object collections with complex interrelationships | |
USRE44794E1 (en) | Method and apparatus for representing and navigating search results | |
US6564210B1 (en) | System and method for searching databases employing user profiles | |
US6775674B1 (en) | Auto completion of relationships between objects in a data model | |
US20020073079A1 (en) | Method and apparatus for searching a database and providing relevance feedback | |
US20060152755A1 (en) | Method, system and program product for managing document summary information | |
WO2001080079A2 (en) | Search query autocompletion | |
US20070214154A1 (en) | Data Storage And Retrieval | |
US20100161644A1 (en) | Contextual Display of Saved Search Queries | |
CN102591969A (zh) | 基于用户历史行为提供搜索结果的方法及服务器 | |
JPH11338879A (ja) | 求人求職仲介システム | |
US11423038B2 (en) | Data analysis system and method | |
US11308177B2 (en) | System and method for accessing and managing cognitive knowledge | |
US8135697B2 (en) | Search-friendly templates | |
JP2010140200A (ja) | クリックログを用いた検索結果分類装置及び方法 | |
CN104166677A (zh) | 用于处理数据搜索请求的方法和系统 | |
JP2003044331A (ja) | 知識分析システム、クラスタデータベース表示方法および表示制御プログラム | |
WO2002069186A1 (en) | A method and system for archiving and retrieving data in an electronic document management system | |
JP2003044486A (ja) | 知識分析システム、クラスタ管理方法およびクラスタ管理プログラム | |
Jurco | Finding People on the Internet | |
KR20110023308A (ko) | 폭소노미와 링크 기반 랭킹 기법을 이용한 집단지성 기반 웹 페이지 검색 방법 및 이를 수행하기 위한 시스템 |
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 |