基于搜索的应用开发框架的制作方法

文档序号:6454964阅读:182来源:国知局
专利名称:基于搜索的应用开发框架的制作方法
技术领域
本发明一般地涉及允许应用被搜索。更具体地,本发明涉及允许用户 搜索企业应用并使用搜索结果执行动作的框架。
背景技术
随着网络使用的扩大,企业应用(enterprise application)的使用变得 越来越流行。企业应用一般是寄宿在服务器上的软件应用,所述服务器具 有同时向网络上的大量用户提供业务的能力。通常,企业应用适合于执行 与商业有关的功能。与商业有关的功能可包括但不限于跟踪客户信息、计 费和产品规划。
通常,希望搜索诸如可能存储在企业应用或以其他方式与企业应用相 关联的信息之类的信息。举例来说,企业应用中可包含关于特定银行的账 目经理姓名的信息,所述银行如澳大利亚的XYZ银行。为了回答诸如 "谁是澳大利亚的XYZ银行的账目经理"之类的问题或查询, 一般有三 种可能获得答案的方式。图1是可以对与企业应用相关联的信息做出的查 询的图形化表示。当客户118或査询者想得到有关可能包含在企业应用 110中的信息114的查询的答案时,客户118可制定自然语言査询130。自 然语言查询130可对可能对信息114有访问权限的实体122 (如人类)进 行。实体122可在企业应用110内部对信息114有访问权限,或者实体 122可经由其他途径对信息114有访问权限。虽然自然语言查询130可能 相对容易制定,但是实体122可能不一定对信息114有访问权限。因此, 自然语言查询130的答案可能不一定容易从实体122获得。客户118在得 到答案之前可能需要查询不止一个实体。因此,经由有访问权限的诸如人 类之类的实体122的査询常常效率低下且成本高昂。
因为企业应用110存储诸如信息114之类的数据,客户118可制定访问企业应用110中的信息114的基于SQL或表格的查询134。 一般地,企 业应用110内的信息114只有在企业应用110的开发者使信息114对客户 118或其他用户可用的情况下才能被访问。制定基于SQL或表格的査询 134以访问可用信息114较困难,因为信息114可能存储在企业应用110 内的低层。企业应用110的内部结构可能很复杂,并且常常是私有的。多 数情况下,在客户118能够成功制定基于SQL或表格的査询134之前,客 户118可能需要修习有关企业应用110的培训课程。指定基于SQL或表格 的査询134可能要求大量开发工作。因此,虽然信息114很可能通过基于 SQL或表格的査询134被成功获得,但是与创建基于SQL或表格的査询 134相关的步骤可能很复杂和耗时。
基于关键字的查询138可由客户118输入到搜索引擎126中来定位信 息114。若信息114是澳大利亚的XYZ银行的账目经理的姓名,则基于关 键字的查询138可包括单词"账目"、"经理"、"XYZ"和"澳大利 亚"。若信息114可访问,则搜索引擎126的使用可能相对快速而有效。 然而,若信息114被证明对搜索引擎126不可用,即,若信息114不包含 在搜索引擎126可访问的文档、文件或应用程序中,则客户118将得不到 基于关键字的查询138的满意结果。若信息114存储在事务表格,即包含 用于査看但未被索引以供搜索的描述性字段的表格中,则信息114也可能 是不可用的。搜索引擎126实质上仅能展示可被客户118读取的搜索结 果。换言之,当基于关键字的査询138的结果被展示给客户118时,该结 果的展示使得客户118可读取结果但不经过大量开发工作一般不能对结果 采取动作。
虽然自然语言查询130和基于关键字的查询138在使客户118能够获 得信息114方面有效,但是自然语言査询130可能效率低下,并且自然语 言査询130和基于关键字的查询138不总能为客户118提供信息114,例 如当信息114对实体122和搜索引擎126不可用时即是如此。另外,信息 114可能不精确,若它实质上不是直接从使用信息114的企业应用110获 得的。 一般地,客户118可经由企业应用110成功获得对精确的信息114 的访问权限。这种信息114至少像企业应用IIO—样精确。然而,如上所述,形成基于SQL或表格的査询134通常很复杂。
因此,需要使存储在企业应用中的信息能够容易地被搜索的方法和设 备。即,需要允许用户以结构化方式搜索企业应用以获得精确信息的系统。

发明内容
本发明涉及提供用于搜索事务应用的语义接口的搜索框架。根据本发 明的一个方面,用于使至少一个事务应用能够被搜索的方法包括创建与该 事务应用相关联的规范(canonical)对象以及索引与该事务应用相关联的 数据。所述方法还包括使用与所述规范对象相关联的信息来创建索引存储 器。该索引存储器与被索引的数据相关联。最好,语义引擎与所述索引存 储器相接口连接。
在一个实施例中,査询以第一格式被提供给语义引擎。在该实施例 中,在使用搜索引擎访问索引存储器之前,语义引擎将查询从第一格式转 化成与搜索引擎相关联的第二格式。
基于搜索的应用的开发框架允许与所述应用相关联的数据能被相对高 效地获得,所述开发框架使语义或其他信息能够被用于搜索应用。因为这 种开发框架实质上可采用任何搜索引擎,所以搜索引擎的性能可能起着杠 杆作用(leveraged)。 一般地,开发框架包括使搜索引擎能够访问应用内 存储的信息的接口,并向随后可直接对该信息执行动作的终端用户提供该 信息。通过提供如下工具包,开发者可通过相对少的开发工作来创建允许 应用被搜索的总体系统,所述工具包包括所述接口和用于将查询从基于自 然语言的串转化成可用于搜索应用的串的语义引擎。
根据本发明的另 一方面,用于使至少一个应用能够被搜索的框架包括 接口、可插拔搜索引擎和运行时管理器。所述接口将査询从第一格式转化 成第二格式,并与和所述应用有关的规范商业对象相关联。所述搜索引擎 响应于所述査询而搜索所述应用,所述运行时管理器将所述搜索引擎与所 述应用相接口连接并令査询结果被显示。在一个实施例中,所述应用是企 业应用、事务应用或事务企业应用。在另一实施例中,开发者可使用设计器来创建包括规范对象、对象类 别和用于对象的语义定义的元数据。所述接口可包括用户界面呈递器
(renderer)、动作控制器和语义引擎。在该实施例中,所述运行时管理器 可与所述搜索引擎交互以执行爬取(crawling)、索引和监控。
根据本发明的又一方面,用于处理请求与应用相关联的信息的查询的 方法包括选择与所述应用相关联的规范商业对象以及使用与所述査询相关 联的信息来执行搜索。所述搜索与所述规范商业对象相关联。执行所述搜 索包括利用包含与所述应用相关联的信息的索引存储器。该方法还包括从 所述索引存储器获得所述搜索的结果。在一个实施例中,所述结果是允许 对所述应用的直接访问的网络链接。
结合附图阅读以下说明书后,本发明的这些和其他特征及优点将变得 明显,所述附图中,相同或相似的结构用相同的参考标号来指代。


图1是对与企业应用相关联的信息做出的査询的图形化表示; 图2是根据本发明的实施例的、其中搜索引擎和应用之间的接口允许 所述应用被搜索的系统的框图表示;
图3是根据本发明的实施例的、允许客户搜索多个应用的框架的框图
图4是根据本发明的实施例的、使动作能被执行的、含有搜索查询区 域和结果区域的显示窗口的图形化表示;
图5A是根据本发明的实施例的、允许应用被搜索的基本软件架构的 框图表示;
图5B是根据本发明的实施例的、通过软件架构中还可包含的扩展来 示出的软件架构即图5A的软件架构500的框图表示;
图6是根据本发明的实施例的、与事务应用相接口连接的基于搜索的 应用的图形化表示;
图7是根据本发明的实施例的、例示了一种将应用与框架相集成的方 法的处理流程7图8是根据本发明的实施例的、例示了一种处理查询的方法的处理流
程图9是根据本发明的实施例的、指示如下动作的流程的框图表示,当 可搜索的应用被接口连接到框架中并对搜索可用时,所述动作发生; 图IO是数据库管理系统架构的框图表示; 图11是可与本发明的实施例关联使用的计算系统的框图表示。
具体实施例方式
在以下说明书中,将参考在用于诸如数据库应用之类的软件应用的平 台上测试子系统的实施例来描述本发明。然而,本发明的实施例不限于任 何特定架构、环境、应用或实现方式。例如,虽然实施例是参考网络数据 库应用来描述的,但是本发明可以有利地应用到任何软件应用。因此,以 下实施例的描述是为了例示的目的而非限制的目的。
对与企业应用相关联的非结构化的或损坏(demoralized)的数据的搜 索对终端用户而言一般并不容易得到。虽然某些搜索应用可以得到,但是 在特定的企业应用可以被搜索之前,这些搜索应用一般要求终端用户一方 的大量开发工作。
扩充现有搜索引擎并创建结合了现有搜索引擎的框架以便事务应用可 以被提供自然语言査询的终端用户搜索,这将允许终端用户相对高效地搜 索企业应用。在一个实施例中,可以为开发者提供这样的工具包,所述工 具包可用来开发将特定企业应用与结合了现有搜索引擎的框架相接口连接 所需的软件模块。该工具包可用来开发可用于搜索企业应用或事务应用的 基于搜索的应用。这种工具包的使用在实质上不要求开发者一方的大量开 发工作的前提下允许充分利用(leverage)高性能搜索引擎的功能来搜索任 意数目的企业或事务应用。
创建搜索引擎和企业应用之间的接合点允许终端用户可以作用的信息 被获取。另外,可以实现对多种不同类型的信息的搜索。举例来说,对事 务记录、工作项目、编程缺陷和其他与商业有关的元素的搜索可以精确地 执行。图2是根据本发明的实施例的、其中搜索引擎和应用之间的接口允许 所述应用被搜索的系统的框图表示。实质上可以是任何适合搜索引擎的搜
索引擎204可用来通过接口 208搜索应用212。虽然应该理解应用212可 以多种多样,但应用212可以是企业应用,如事务应用即利用事务的应 用。在一个实施例中,搜索引擎204可以是SQL搜索引擎、诸如Apache Lucene之类的基于开放源的搜索引擎或可从加州Redwood shores的Oracle 公司获得的Oracle Text搜索引擎。
接口 208被布置成使得经由搜索引擎204做出的查询能够搜索应用 212以获得有效地匹配该查询的结果。g卩,接口 208有效地充当搜索引擎 204和应用212之间的接合点以便搜索引擎204可以搜索与应用212相关 (例如,包含在应用212中)的信息。举例来说,应用212可包括其中客 户信息被存储到相关的数据库中的应用。接口 208可使该应用能够通过搜 索引擎204和诸如"谁是加州的XYZ银行中John Doe的账目的账目经 理?"之类的查询被搜索以获得客户信息。
一般地,包括相互合作以允许应用被搜索的搜索引擎和接口的总体框 架可被布置成接受查询并对查询提供响应。图3是根据本发明的实施例 的、允许客户搜索多个应用的框架的框图表示。框架310 —般包括客户 302 —将查询输入到框架310中就使应用312能被搜索所需要的功能。应 用312可以是事务应用,而输入到框架310中的査询可以在与框架310相 关的语义引擎(未示出)中实现。框架310 —般可将查询例如从自然语言 转化成框架310中包含的搜索引擎(未示出)所理解的查询,然后基于经 转化的査询来搜索应用312。经转化的査询的任何结果可以使用框架310 被展示给客户302。
当査询结果被展示时,该结果可以在与客户302相关的计算系统的显 示屏上显示。在一个实施例中,显示屏可包括查询被输入其中并显示的搜 索区域以及在基于查询执行了搜索之后显示结果的结果区域。参考图4, 将根据本发明的实施例来描述一个提供用于输入查询的用户界面和与被显 示的结果相关的用户界面的显示窗。可以是用于基于网络的应用的浏览器 窗口的显示窗400包括查询区域402和结果区域406。查询区域402包括例如用户使用键盘输入可以向其中输入搜索串的字段410。应该理解,虽 然被示为适合于接受文本输入,但是字段410还可以使用其他方法填充。 其他方法包括但不限于使用下拉或弹出菜单提供输入。
搜索串一旦被输入到字段410中,输入按钮412就可以被按压或点击 以开始搜索。按压输入按钮412 —般开始有效地激活诸如图3的框架310 之类的框架的过程,以搜索至少一个应用来获得与该搜索串相关的答案。 当搜索完成时,结果414a-c可以显示在结果区域406中。虽然示出了三个 结果414a-c,但是应该理解,查询结果414a-c的数目可以多种多样。
结果414a-c可来自任何被搜索的应用。如图所示,结果414a和结果 414b与应用'A,相关,而结果414c与应用相关。在所描述的实施 例中,结果4Ma-c是可以被选择的链接,它们被选择时可以打开用于与链 接相关的应用的显示窗。举例来说,若结果414a被选择,则与应用'A' 相关并显示位于应用中的査询结果的显示窗将打开。
结果414a-c可分别具有相关的动作按钮416a-c。然而应该理解,不是 所有结果414a-c —般都具有相关的动作按钮416a-c。通过选择动作按钮 416a-c,可针对相应的结果414a-c采取动作。在一个实施例中,选择动作 按钮416a-c可导致用户从与显示窗400相关的语义应用被重定向到事务应 用。例如,若输入到字段410中的搜索串是用于有关职位描述的搜索的, 则结果414a-c可包括匹配该职位描述的职位空缺。这种情况下,动作按钮 416a-c可以是当被选择时导致用户使用相关的事务应用来申请该职位空缺 的按钮,例如,点击动作按钮416a可以导致用户申请与结果414a相关的 职位空缺。
字段410可接受与不同搜索类别相关的搜索串。在一个实施例中,搜 索类别可包括人员搜索类别、工作表搜索类别和集成储存库(integration repository)搜索类别。人员搜索类别可允许客户或用户在商业应用中搜索 诸如客户或账目经理之类的人员,所述商业应用中客户或账目经理信息被 存储在贸易社区模型(trading community model)的数据库中。对于人员搜 索,结果414a-c可包括账目经理姓名。工作表搜索类别可允许客户或用户 搜索作为商业过程的结果在组织内被指派的个人动作项。对于工作表搜
10索,结果414a-c可包括用于该用户的工作或动作项的列表。集成储存库搜
索类别可允许客户或用户定位可用来集成各种第三方程序或应用的应用编
程接口 (API)。对于集成储存库搜索,结果414a-c可以是第三方集成器 可用的API列表。
为了提供诸如图3的框架310之类的框架,实质上标准的搜索引擎可 以被结合。可以提供开发者用来集成应用与框架的工具包。在该工具包 内,可以提供用于管理搜索类别的用户接口,以及开发者用来开发定制模 块的API。这种工具包还可提供允许搜索引擎与框架相接口连接的运行时 管理器。开发者一般可使用该工具包来定义搜索类别。图5A是根据本发 明的实施例的、与基于搜索的应用架构相关的部件的框图表示。可被视为 总体搜索工具包的架构500采用搜索引擎504。架构500被布置成使类别 搜索能被执行。搜索引擎504是可插拔的,并且实质上可以是含有API的 任何搜索引擎。 一般地,搜索引擎504的可插拔性在于搜索引擎504允许 诸如爬取器506、索引引擎508、査询引擎510和评分器512相接于其 中。
爬取器506被布置成爬取源,如本领域技术人员所理解的那样。在一 个实施例中,爬取器506提供实质上爬取所有的应用554的功能,例如将 被搜索的企业应用和/或事务应用。用于规范商业对象定义的可搜索文档的 构造以及运行时应用数据的构造通过使用爬取器出现。Java数据库连通性 (JDBC) API是爬取器506可基于的标准SQL数据库访问接口 。
索引引擎508 —般索引由爬取器506构造的可搜索文档,并被布置成 将索引存储器558暴露给查询引擎510。索引存储器558是存储索引的场 所。诸如与索引存储器558相关的安全设置之类的设置可由运行时管理器 516管理。运行时管理器516还被布置成允许搜索被在运行时管理,以便 例如可以安排爬取并可以建立索引存储器558。
可被视为査询构建器的查询引擎510是在架构500内使用以在经预爬 取的索引存储器558中执行搜索的软件模块。査询引擎510使用经由元数 据管理器520从元数据储存库524获得的元数据来有效地将用户输入的查 询从搜索引擎504理解的查询转换成索引引擎558理解的査询。元数据储存库524实质上存储所有元数据,并且还存储对象类别和语义定义。元数 据管理器520管理元数据,并提供用于创建、修改和删除搜索类别的用户 接口。在一个实施例中,商业对象可被存储在元数据储存库524中,而搜 索类别由元数据管理器520存储。
评分器512提供评级功能。虽然搜索引擎504 —般具有评分功能,但 是评分器512可用来扩充或改变搜索引擎504中包含的评分功能。 一般 地,每个评分器512可与特定的搜索类别相关联,并可提供关于特定结果 与査询有多匹配的信息。
与搜索引擎504通信的接口部件528包括语义引擎530、用户界面呈 递器532和动作控制器534。语义引擎530是被布置成将用户査询转化成 搜索引擎504理解的査询的査询构建器。即,语义引擎530可基于元数据 储存库524中存储的元数据来转换查询。在一个实施例中,语义引擎530 将基于自然语言的查询转化成特定于搜索引擎的査询。举例来说,"谁向 Jane Doe汇报"的用户査询可基于指派给适当字段的语义信息被转化成诸 如"mgrFirstname:Jane, mgrLastname:Doe"之类的特定于搜索引擎的查 询。
用户界面呈递器532被布置成使査询结果或搜索被显示。S卩,用户界 面呈递器532允许特定搜索类别的用户界面表示被产生并呈递给用户。一 个用户界面呈递器532可被布置成以表格形式显示结果。 一般地,用户界 面呈递器532可被指派给定类型的规范商业对象。
动作控制器534被布置成将结果页面上显示的用户接口事件转化成在 服务接口中定义的商业动作,在一个实施例中,所述服务接口可以是服务 组件(beans) 542。 S卩,动作控制器534是通过调用服务组件542来执行 与搜索有关的商业逻辑的事件管理器。服务接口 542是有效地存储商业逻 辑的一个或多个部件。服务接口 542可针对搜索类别来注册。在一个实施 例中,服务接口 542包括三种类型的服务,即列表服务、实体服务和动作 服务。这些服务可被视为工具包。列表服务可以在由搜索类别定义的实体 的列表上执行,并可由主键列表来标识。实体服务可在商业对象的特定实 体上执行。例如,査询结果可以作为各由主键标识的结果的列表来展示给用户。可在这些结果上执行的商业动作或动作服务可包括但不限于保存 结果,若这些结果是工作机会则申请特定工作,以及基于特定属性来对结 果排序。在一个实施例中,动作服务是可链接到用户接口动作的服务。
用户界面模板538是使服务组件542能被动作控制器534调用的代码 段(snippet),例如超文本标记语言(HTML)代码段。举例来说,模板 538可用于在实质上不改变与用户界面呈递器532相关的代码的前提下定 制用户界面。如下面将参考图5B来描述的那样,可采用用户界面模板538 来呈递用于搜索结果或动作形式的动态HTML (DHTML)用户界面。
架构500还可与应用安全模块546和国际化模块550相关联。应用安 全模块546与例如服务接口或服务组件542的工具包交互,以有效地强制 执行与架构500相关的安全要求。应用安全模块546可基于搜索类别来定 义安全策略,并可被架构500的部件使用,所述部件包括但不限于索引引 擎508和查询引擎510。国际化模块550可用来允许以多种语言获得搜 索。
各种外部部件可以与架构500相接口连接。如图5B所示,总体架构 500可包括监视器或者使用运行时管理器516来在运行时管理搜索的管理 员。设计者或开发者588可定义在元数据储存库524中存储的搜索类别。 搜索类别可封装搜索引擎504可用来执行搜索的工件(artifacts),并可包 括但不限于诸如客户和任务之类的类别。DHTML用户界面580为用户界 面呈递器532提供用户输入。可从加州Redwood shores的Oracle公司获得 的诸如JDeveloper之类的工具584提供用于构建面向服务的应用的集成开 发环境。g卩,工具584允许用户界面模板538和服务接口 542被创建和修 改。
如前所述,允许终端用户输入自然语言搜索串来搜索应用的能力增加 了基于搜索的应用框架的可用性。作为允许搜索引擎与企业应用结合使用 的总体接口的一部分,语义引擎和语义应用的使用为总体架构提供功能。 再参考图6,将根据本发明的实施例来描述基于搜索的应用和企业应用之 间的接口。框架600包括在一个实施例中可以是事务应用的企业应用 634。应用634与存储应用634所使用的信息的数据库630相关联。诸如服务组件638之类的服务接口包含商业逻辑,并使应用634能被包括语义应 用602和搜索引擎626的基于搜索的应用访问。
语义应用602使用上面参考图5A描述的呈递引擎614、元数据存储器 610和语义引擎606来有效地调用搜索引擎626以搜索应用634。例如订购 单的规范对象一般是与未绑定到特定实现方式的规范商业对象类别622相 关的商业对象。通常,可将某些类型的分类应用于规范对象以形成规范商 业对象类别622。被索引以供搜索并包含结构化数据的语义应用602可被 视为实质上与应用634并列行动。在一个实施例中,语义应用602有效地 包装(wrap)并描述应用634。
可以是丰富网络(rich web)用户界面618的用户界面618允许对基于 搜索串的应用进行诸如搜索串之类的输入。丰富网络用户界面618允许商 业动作容易与査询结果相关联。应用634与基于表格或HTML的用户界面 642相关联,所述基于表格或HTML的用户界面642允许显示查询结果并 按照査询结果行动。
可以是可从加州Redwood shores的Oracle公司获得的Fusion Middleware的中间件(Middleware) 650有效地将管理能力和部署平台汇 聚到技术平台中。 一般地,中间件650实质上使任何开发工具(未示 出)、任何企业应用634和任何搜索引擎626能被集成到框架600中。 即,中间件650允许框架600的部件能够容易地被替换。应该理解,虽然 中间件650可以是Fusion Middleware,但是实质上可以使用允许不同工 具、应用或搜索引擎被结合到框架600中的任何中间件。换言之,可以使 用提供用于设计和运行企业软件的平台的任何中间件650来代替Fusion Middleware 。
应用基础646被布置成使应用能被构建。g卩,应用基础646提供这样 的基础和应用背景(context),基于所述基础可以构建诸如事务应用之类 的应用,在所述应用背景内可以运行应用。在一个实施例中,应用基础 646提供可包括但不限于应用安全、登录和差错处理的普通服务。 一般 地,语义应用602可被部署于应用基础646之上并可以共享应用基础646 中提供的应用背景。图7是根据本发明的实施例的、例示了一种将应用与框架相集成的方 法的处理流程图。将诸如企业应用之类的应用与使搜索能在该应用上执行
的框架相集成的处理700开始于步骤704,其中框架与企业应用相接口连 接。 一旦框架与企业应用相接口连接,就在步骤708中创建适合于企业应 用的服务接口或服务组件。服务组件允许动作被定义以便可以使用框架来 访问企业应用。
创建了适当的服务接口或组件后,在步骤712中创建规范商业对象。 规范商业对象被布置成定义数据,并可被存储在数据库或诸如元数据储存 库之类的储存库中。在步骤716中,数据库中或Java类中存储的对象属性 被映射到步骤712中创建的规范商业对象上。将对规范商业对象采取的动 作在步骤720中被指派。指派动作可包括将搜索引擎指派给规范商业对 象。
处理流程从歩骤720移动到对规范商业对象进行语义描述的歩骤 724。然后,在步骤728中,可使用搜索引擎的爬取器来索引规范商业对 象。索引规范商业对象可包括从企业应用中提取数据。规范索引对象被索 引后,在步骤732中可以使用搜索引擎来搜索索引存储器。规范商业对象 的语义描述被搜索引擎用来构建查询。 一旦索引存储器被搜索,将企业应 用与框架相集成的处理便完成。
参考图8,将描述由用户提供的搜索串的处理。图8是根据本发明的 实施例的、例示了一种处理用户提供的查询的方法的处理流程图。处理用 户提供的査询的过程800开始于步骤804,其中搜索列表被识别。换言 之,存储于元数据储存库中的规范商业对象被选择以便在搜索中使用。规 范商业对象被选择之后,在步骤808中输入搜索串。在一个实施例中,语 义引擎可基于搜索串与给定类别有关这样的语义定义来确定。因此,语义 引擎可将特定搜索串与特定规范对象相关联。举例来说,包含串"谁雇佣 了JohnDoe "的搜索串可由语义引擎关联到作为雇员的规范对象。
在步骤808中输入的搜索串通常由用户输入。 一旦搜索串被输入,就 在步骤812中使用搜索串来执行搜索。执行搜索包括有效地将搜索串转化 成搜索引擎所理解的格式,然后将该格式转化成被从中获得结果的索引存储器理解的另一格式。
在步骤816中从索引存储器获得搜索结果。应该理解,索引存储器中 的结果通常从被搜索的应用中获得。随后在步骤820中一个结果被点击或 以另外的方式被选择以向用户提供对与该结果相关的应用的访问。应用被 用户输入后,处理用户提供的査询的过程完成。
再参考图9,将根据本发明的实施例来描述建立和使用允许事务应用 被搜索的基于搜索的应用框架的处理。当设计者924或开发者检查例如事 务应用的应用928时,实现基于搜索的应用框架的处理开始。应用928可 以被检查以确定应用928中什么样的信息对搜索可用。设计者924在检查 应用928之后创建或注释对搜索可用的规范商业对象类别916。创建规范 商业对象类别916 —般需要创建规范商业对象。
一旦规范商业对象被创建,可以是可插拔搜索引擎的一部分的爬取器 920便索引应用928以使应用928能被搜索。该爬取处理使爬取器920能 使用规范商业对象的搜索工件来创建用于给定的规范商业对象类别916的 索引。这些索弓1随后被爬取器920存储在索引存储器912中。
当用户希望搜索应用928时,用户可使用框架900的用户接口 904来 输入査询,例如自然语言査询。语义引擎908使用规范商业对象类别916 搜索索引存储器912。在一个实施例中,语义引擎908可以有效地通过搜 索引擎(未示出)间接地搜索索引存储器912。当使用索引存储器912发 现适当的索引时,语义引擎908可将查询重定向到应用928。应该理解, 在査询被重定向到应用928之前,査询通常首先被转换成搜索引擎所理解 的格式然后被转换成应用928所理解的格式。
基于搜索的应用开发框架一般可针对数据库管理系统来实现。 一个合 适的数据库管理系统架构是图10所示的三层架构。处于数据库管理系统 的核心的是存储数据库963或储存库的中央存储装置961。数据库963通 常存储于一个或更多个硬盘驱动器上,并且通常是更大的计算机系统的一 部分。信息可以以各种格式存储于数据库963中,关系数据库管理系统严 重依赖于表格来存储该信息。数据库服务器965是与数据库963交互的程 序的实例。除了其他特征以外,数据库965的每个实例可以独立地査询数据库963并在其中存储信息。
在某些实例中,数据库服务器965可不包括用户友好界面,如图形化 用户界面。因此,至少一个应用服务器967可向数据库服务器965提供用 户界面。举例来说,应用服务器967可以是因特网或任何其他网络上的网 络应用服务器。应用服务器967可提供用于通过数据库服务器965来访问 数据库963的用户友好机制。可以采用网络浏览器969来访问应用服务器 967。
图11示出可实现本发明的实施例的计算系统中可能出现部件的框 图。计算机系统971包括运行来自计算机程序的指令(包括操作系统)的 处理器973。可以采用处理器973以允许例如语义引擎运行。虽然处理器 973通常具有内存缓冲,但是处理器973可采用可存储指令或计算机代码 和数据的存储器975。
固定存储装置977可存储计算机程序和数据。固定存储装置977通常 是永久的,并且与内存975相比提供更多的存储装置。虽然应该理解固定 存储装置977可以是任何适当部件,但是用于数据库的常见固定存储装置 977是多硬盘驱动器。可移除存储装置979为其中存储的计算机程序和/或 数据提供移动性。可移除存储装置979可包括但不限于软盘、磁带、 CD/ROM、 DVD、闪存设备等。
存储器975、固定存储装置977和可移除存储装置979提供可用来存 储和检索计算机程序、本发明使用的数据等的计算机可读存储介质的示 例,所述计算机程序结合了实施本发明的计算机代码或代码设备。另外, 例如包括因特网在内的网络中的载波包含的数据信号也可以是计算机可读 存储介质。输入设备981允许用户与计算机系统971相接口连接。输入设 备981可以是键盘、鼠标、按钮、拨号盘或任何其他适当输入机制。输出 设备983 —般允许系统971向用户提供输出。输出设备983可包括但不限 于诸如监视器、显示屏、LED、打印机或实质上任何其他输出机制之类的 设备。
网络接口 985通常允许系统971与它连接到的网络相接口连接。计算 机系统971的系统总线架构由箭头987表示。图11所示的部件可以在很多计算机系统中找到。然而,在不脱离本发明的精神或范围的前提下,可以
添加、删除或合并这些部件。例如,固定存储装置977可以是通过网络连
接来访问的文件服务器。因此,图ll用于例示目的而非限制目的。
虽然只描述了本发明的若干实施例,但是应该理解,在不脱离本发明 的精神或范围的前提下,本发明可以通过许多其他具体形式来体现。举例 来说,搜索引擎已被描述为关于本发明的架构可插拔。然而,作为替代, 搜索弓I擎可以是该架构的固定或集成部分。
虽然作为事务应用的企业应用一般已被描述为适合于使用基于搜索的 应用框架来搜索,但是被搜索的应用不限于事务企业应用。例如,非事务 应用的企业应用或非企业应用的事务应用可以被搜索。
框架中可包含过滤器来使响应于搜索或査询而获得的更多结果被进一 步搜索。例如,若搜索空闲职位的初始查询位于数据库开发的字段中,则 可应用过滤器来去除与特定公司相关的所有职位或指定特定的底薪。
框架的部件一般已被描述为软件模块或使用计算机代码设备创建的模 块。在不脱离本发明的精神或范围的前提下,在一个实施例中,框架的部 件可以被实现为硬件模块或软件模块的组合,甚至实质上仅是硬件模块。
诸如服务组件之类的服务接口一般己被描述为包含在支持基于搜索的 应用框架的架构中。如上所述,服务组件表示应用于对象上的动作。定义 和提供服务的其他机制可以代替服务组件来实现。或者,应该理解,对于 不希望使用从中获得搜索结果的应用的动作的实施例,服务组件不一定包 含在基于搜索的应用框架中。
搜索可以被保存,以便一旦用户使用基于搜索的应用来执行搜索,为 执行搜索而输入的文本便被保存用于今后的访问。类似地,搜索结果可以 被保存,以使用户能够容易地访问搜索结果而无需执行另一次搜索。
一般地,与本发明的方法相关的步骤可以多种多样。在不脱离本发明 的精神或范围的前提下,可以添加、移除、改变、合并或重排这些步骤。 举例来说,虽然点击结果来进入被搜索的应用己被描述为获得查询响应时 可能出现的动作,但是对一组响应采取的动作可以多种多样。在一个实施 例中,客户动作被指派给相应的规范商业对象。客户动作可包括但不限于
18用于语义应用或者向语义应用所绑定的事务应用的转化的动作。因此,这 些示例应被视为示意性而非限制性的,并且本发明不限于这里给出的细 节,但可以在所附权利要求的范围内修改。
权利要求
1. 一种使至少一个事务应用能被搜索的方法,所述方法包括创建与所述至少一个事务应用相关联的规范对象;索引与所述至少一个事务应用相关联的数据;使用与所述规范对象相关联的信息来创建索引存储器,其中所述索引存储器与所述被索引的数据相关联;以及将语义引擎与所述索引存储器相接口连接。
2. 如权利要求1所述的方法,还包括向所述语义引擎提供查询,所述查询具有第一格式,其中所述语义引 擎被布置成将所述查询从所述第一格式转化成第二格式,所述第二格式与 搜索引擎相关联;以及使用所述搜索弓I擎来访问所述索弓I存储器。
3. 如权利要求2所述的方法,还包括确定与所述具有第二格式的查询相关联的结果是否在所述索引存储器 中被指示。
4. 如权利要求3所述的方法,还包括从所述至少一个事务应用获得与所述结果相关联的信息;以及 显示所述信息,其中显示所述信息包括允许与所述信息相关的动作被 执行。
5. 如权利要求1所述的方法,还包括将所述规范对象存储在元数据存 储器中。
6. 如权利要求1所述的方法,其中索引所述数据包括爬取所述数据。
7. 如权利要求1所述的方法,还包括将搜索引擎与所述语义引擎和所 述至少一个事务应用相接口连接。
8. 如权利要求7所述的方法,其中所述将搜索引擎与语义引擎和至少 一个事务应用相接口连接包括向所述搜索引擎提供评分器、爬取器、索引 引擎和查询引擎。
9. 一种用于处理查询的方法,所述査询被布置为请求与应用相关的信息,所述方法包括选择规范商业对象,所述规范商业对象与所述应用相关联; 使用与所述査询相关的信息执行搜索,所述搜索与所述规范商业对象相关联,其中执行所述搜索包括利用包含与所述应用相关的信息的索引存储器;以及从所述索弓I存储器获得所述搜索的结果。
10. 如权利要求9所述的方法,还包括使用所述搜索的结果访问所述应用。
11. 如权利要求io所述的方法,其中所述搜索的结果被显示,并且所述使用搜索的结果访问应用包括使用所述被显示的结果来访问所述应用。
12. 如权利要求9所述的方法,还包括将所述信息输入到用户界面显示,其中所述从索引存储器获得搜索的 结果包括在所述用户界面显示中显示所述结果。
全文摘要
公开了用于创建如下搜索框架的方法,所述搜索框架提供用于搜索事务应用的语义接口。根据本发明的一个方面,用于使至少一个事务应用能够被搜索的方法包括创建与该事务应用相关联的规范对象以及索引与该事务应用相关联的数据。所述方法还包括使用与所述规范对象相关联的信息来创建索引存储器。该索引存储器与被索引的数据相关联。最好,语义引擎与所述索引存储器相接口连接。
文档编号G06F17/30GK101454779SQ200780019575
公开日2009年6月10日 申请日期2007年3月27日 优先权日2006年3月27日
发明者大卫·纯·池·兰姆, 安平·王, 阿维纳什·达比侯卡尔 申请人:甲骨文国际公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1