CN104756110A - 关系数据库上的即时搜索 - Google Patents
关系数据库上的即时搜索 Download PDFInfo
- Publication number
- CN104756110A CN104756110A CN201380055946.1A CN201380055946A CN104756110A CN 104756110 A CN104756110 A CN 104756110A CN 201380055946 A CN201380055946 A CN 201380055946A CN 104756110 A CN104756110 A CN 104756110A
- Authority
- CN
- China
- Prior art keywords
- search
- user
- relational database
- index
- input
- 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
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种与关系数据库分开的搜索系统生成所述关系数据库中的信息的索引,该索引可被用来查找业务记录(或实体)。一种也与关系数据库分开的搜索系统,接收搜索用户输入机制中的键入或其他字符输入,以及基于接收到的所述键入输入或其他字符输入生成针对所述索引的查询。在接收到附加键入输入或字符时,所述搜索系统返回结果并修改这些结果。
Description
背景
在当前计算机系统中使用了各种各样的不同类型的搜索引擎和搜索技术。一些这样的引擎或技术包括web搜索引擎以及在其他应用(如操作系统、web浏览器、以及数据协作应用(诸如笔记应用))中实现的搜索功能。
这些搜索引擎和技术中的一些实现了“即时搜索”功能。在这一功能中,在最终用户将字符键入搜索域中时,搜索引擎对数据存储或索引执行重复搜索。在一种系统中,每次用户暂停其输入达给定时间(诸如约300ms或不同的时间),搜索就被执行,以减少或控制查询的次数。在另一种系统中,对于用户的每一击键或字符输入,都执行一个搜索(或查询)。在定位匹配结果时,搜索引擎可以执行前缀搜索,其中搜索引擎估计整个查询(基于迄今接收到的字符)并启动所估计的查询。在另一实施例中,搜索引擎搜索与迄今已被输入的字符相匹配的结果,并返回那些匹配的结果。在用户继续键入附加字符到搜索域中时,搜索引擎基于该附加字符来细化搜索并基于经细化的搜索来返回结果。可以看到,即时搜索功能针对要被搜索的数据存储或数据语料库生成大量查询。
当前使用了各种各样的不同类型的业务数据系统。这样的系统包括客户关系管理(CRM)系统、企业资源规划(ERP)系统、业务线(LOB)应用,等等。这些业务数据系统中的许多被构建在关系数据库上。通常,为了查找关系数据库中的信息,用户生成针对数据库内索引启动的数据库查询。这一类型的数据库索引通常必须符合所有关系数据库属性(诸如原子性、一致性、隔离性、以及持久性)。因此,生成关系数据库中的数据库内索引在性能开销方面可能是耗时的且昂贵的。
另外,在给定时间,许多业务数据系统被大量用户访问。因此,以及时的方式服务由用户针对关系数据库发起的所有各种查询可能是困难的。极大地增加针对业务数据系统中的关系数据库发起的查询的数量可能不利地影响性能。
提供以上讨论仅用作一般的背景信息,并不旨在帮助确定所要求保护的主题的范围。
概述
一种与关系数据库分开的搜索系统生成所述关系数据库中的信息的索引,该索引可被用来查找业务记录(或实体)。一种也与所述关系数据库分开的搜索系统,接收搜索用户输入机制中的键入或其他字符输入,以及基于接收到的所述键入输入或其他字符输入生成针对所述索引的查询。所述搜索系统返回结果并在接收到附加键入输入或字符时修改这些结果。
提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。所要求保护的主题不限于解决在背景中提及的任何或所有缺点的实现。
附图说明
图1是包括搜索系统连同关系数据库系统的业务数据系统的一个说明性实施例的框图。
图2是示出在生成索引时图1所示的系统的操作的一个实施例的流程图。
图2A示出索引的一部分的一个简化实施例。
图3是示出在针对关系数据库执行即时搜索功能时图1所示的系统的操作的一个实施例的流程图。
图3A-3E示出说明性用户界面显示。
图4示出包括云计算体系结构在内的各体系结构中的图1所示的系统的一个实施例。
图5-9示出了移动设备的各种实施例。
图10示出了计算环境的框图的一个实施例。
详细描述
图1是具有与关系数据库系统102通信的即时搜索系统(此后称为搜索系统)100的业务数据系统98的一个说明性实施例的框图。图1还示出了索引组件104和具有为用户110生成用户界面显示108的用户界面组件109的客户端106。在一个实施例中,客户端106说明性地是浏览器或客户端设备上的另一应用或组件。
业务数据系统98可以是各种各样的不同类型的业务数据系统中的任一种。例如,它可以是企业资源规划(ERP)系统、客户关系管理(CRM)系统、业务线(LOB)系统或各种各样的其他业务系统。在任何情况下,关系数据库系统102被提供在业务数据系统98中以用于访问业务数据记录118。业务数据组件103说明性地实现了特定系统(诸如ERP系统、CRM系统、LOB系统,等等)并且执行允许用户110访问并操纵关系数据库系统的功能。
处理器129也说明性地是具有相关联的存储器和时序电路(未分开示出)的计算机处理器。它说明性地是业务数据系统98的功能部分,且由业务数据系统98内的各组件和系统来激活,并且促进这些组件和系统的功能。
图1示出关系数据库系统102包括数据库服务器112、处理器114、以及本身包括业务数据记录118的关系数据库116。将注意到,尽管本系统可参考存储在关系数据库中的任何类型的数据来描述,但出于示例的目的,在此参考包括业务数据记录118的业务数据库系统来描述。业务数据记录118可以是各种各样的不同类型的业务数据记录,诸如产品记录、客户记录、联系人记录、财务记录、销售记录、人员记录、或各种各样的其他业务记录。
在该示例中,业务数据记录118包括实体120、查找元数据122(即,允许查找或通过搜索检索各单独实体120的元数据)、表达各实体120之间的关系的关系元数据124、以及许多其他元数据126。
处理器114说明性地是具有相关联的存储器和时序电路(未分开示出)的计算机处理器。处理器114说明性地由数据库服务器组件112和关系数据库系统102中的其他项来激活并促进它们的功能。当然,将明白,处理器114实际上可包括多个处理器或单个处理器,且它也可被集成到数据库服务器组件112或其他项。仅出于示例目的,它被分开示为处理器114。
在业务数据系统的正常操作期间,关系数据库系统102的用户110说明性地输入针对关系数据库116的查询以查找业务数据记录118。该查询说明性地是通过UI显示108上的用户输入机制来输入的,并且被提供给数据库服务器组件112,数据库服务器组件112针对关系数据库执行该查询并基于该查询返回结果。
系统98还包括搜索系统100,搜索系统100说明性地包括处理器128、搜索组件130以及即时搜索索引(此后称为搜索索引)132。在操作中,搜索系统100实现针对关系数据库116的即时搜索功能,而没有显著地增加关系数据库系统102的索引开销或查询开销。这在以下参考图3更详细地描述。然而,出于示例的目的,现在提供简要概览。
索引组件104说明性地对关系数据库116中的业务数据记录118间歇地进行索引。索引组件104这样做以生成搜索索引132。在用户110输入搜索时(诸如在UI显示108或另一合适的用户输入机制之一上生成的搜索域中键入字符),客户端106将该输入134提供给搜索组件130,搜索组件130基于接收到的每一单独的字符针对搜索索引132执行查询。在一个实施例中,可针对用户输入的每一字符输入执行一个查询。这只是一个示例,且该系统在此以此方式来描述。在另一实施例中,查询的数量可通过等待执行查询直至用户暂停提供输入达预定义时间段来降低。例如,如果用户暂停键入达例如300ms,则执行查询。当然,该预定义时间段可以更短或更长,且可通过经验或其他方式来确定。在任何情况下,组件130基于针对索引132执行的查询来返回搜索结果136。在用户110向搜索域继续键入字符时,搜索组件130基于这些附加输入来细化针对索引132的搜索并向客户端106返回经修订的结果136。客户端106说明性地在UI显示108上的用户110正用来进行搜索的搜索域附近显示结果136。
在更详细地描述即时搜索功能之前,将参考图2描述索引组件104的操作的一个实施例。图2是示出生成搜索系统100的搜索索引132的索引组件104的操作的一个实施例的流程图。
索引组件104首先确定是否到了对关系数据库116中的业务数据记录118进行索引的时刻(或更新其索引的时刻)。这在图2由框140指示。索引组件104可通过间歇地或周期性地对业务数据记录118进行索引来做到这一点。索引操作之间的周期或间歇时间可说明性地由管理员或用户按需预定义或定义。索引操作之间的时间可说明性地基于应用以及基于被索引数据在关系数据库116中被修改的频率而变化。频繁修改的数据可被更频繁地索引,而较不频繁修改的数据可被较不频繁地索引,或者所有数据可按同一速率来被索引。在一个实施例中,例如,索引组件104每两天更新索引132。这只是示例且也可以使用其他时间段。
在任何情况下,在索引组件104确定到了对数据进行索引的时刻时,它访问关系数据库116。这由图2中的框142指示。索引组件104随后基于关系数据库116中的信息来创建或更新搜索索引132。创建和更新搜索索引由图2中的框144指示。在这样做时,索引组件104可以对各种不同类型的信息进行索引。在一个实施例中,索引组件104对业务数据记录118中的被用户选择的字段进行索引。当然,被索引的字段也可被预定义。对字段进行索引由框146指示。
索引组件104还说明性地基于查找元数据122对业务数据进行索引。即,关系数据库116中的各单独实体120说明性地包括被用来定位关系数据库116中的对应实体120的元数据。对于每一实体120,一组属性说明性地被标记为元数据122(例如,执行查找操作来定位对应实体120所必需的)。在一个实施例中,索引组件104将这一查找元数据122复制出关系数据库116并将其置于搜索索引132中。基于查找元数据的索引由图2中的框148指示。另外,索引组件104也可以基于其他信息来生成或更新索引132,并且那些字段可包括名称字段、描述字段、备注字段、客户账户字段、菜单字段、菜单项的标记,等等。这一其他信息在图2中由框150指示。
在一个实施例中,还将注意到,要被索引组件104用来生成搜索索引132的字段可以是不同的类型。例如,在一个实施例中,被索引的字段只是搜索字段。即,它们只被用来执行搜索以实现搜索组件130的即时搜索功能。其他字段可被用来执行该类型的搜索功能,但也可被标记为在结果136被返回给用户110时显示的显示字段。在一个实施例中,其他字段可被显示,但不被用于搜索。因此,在一个实施例中,被索引的字段可被标记为只被用于搜索的字段、只被用于显示的字段、或用于搜索和显示的组合的字段。这由图2的框152指示。
图2A示出由索引组件104生成的说明性索引132的一个实施例。可以看到,该索引具有位置ID字段、描述字段、是邮政地址字段以及父位置字段。表153进一步假定索引组件104对存储位置ID字段进行索引,但这一字段是不可搜索的(它被标记为只用于显示)。假定该索引还存储记录ID(图2A中未示出)。此外,“描述”字段被索引以用于搜索和显示的目的。在这种情况下,该索引将包括记录ID、位置ID(它被标记为只用于显示且不用于搜索)、以及描述字段(它被标记为用于显示和搜索两者)。
一旦创建了搜索索引132,它就可被搜索组件130用来执行即时搜索功能。图3是示出搜索系统100执行这一点时的操作的一个实施例的流程图。搜索组件130说明性地生成由客户端106提供给用户110来作为UI显示108之一的用户界面显示。用户界面显示是允许用户110(诸如通过键入或其他方式)输入字符以搜索关系数据库116中的实体的搜索用户界面。显示搜索UI以接收输入来搜索关系数据由图3中的框160指示。
搜索组件130随后接收通过搜索UI录入的键入(或其他字符)输入。这由图3中的框162指示。
搜索组件130随后基于键入输入来搜索索引132以寻找搜索索引132中表示的实体。这由图3的框164指示。当然,搜索组件130可以使用各种各样的不同搜索技术来执行各种各样的不同搜索。那些技术中的一些在图3中只是作为示例被示出。例如,组件130可以执行短语前缀搜索166、简单前缀搜索168、或其他类型的搜索170。
基于该查询,组件130通过客户端106返回结果136给用户110。在返回结果时,组件130说明性地实现可由业务数据系统98使用的任何基于角色的访问或基于角色的安全性(或其他安全性)。这由图3的框172指示。类似地,搜索组件130可以考虑用户110提交的先前查询。例如,如果用户110先前访问了给定实体,则所进行的前缀搜索(或其他搜索)可以优先选择该实体超过其他实体。也构想了以其他方式考虑先前查询。这由图3的框174指示。
在任何情况下,一旦搜索组件130启动针对索引132的查询,它就获得搜索结果136,并通过客户端106和用户界面显示108返回结果136给用户110。这由图3的框176指示。将注意,在一个实施例中,UI显示108可由用户界面组件109以各种不同的方式来生成。结果可被显示在显示与查询相匹配的所有结果的用户界面显示上。这由框178指示。当然,用户界面显示也可以显示结果的子集,如框180所指示的,并且“查看全部”选项也可被提供给用户110,使得用户可以提供合适的用户输入以查看所有结果。查看全部选项由图3中的框182指示。
图3A示出了可以使用的一个示例性搜索用户界面显示164。用户界面显示164包括搜索域166和显示结果136的下拉菜单168。可以看到,在图3A中,用户在搜索域166中键入了字母J。作为响应,搜索组件130对索引132进行搜索,并且使用上述图2A中示出的示例索引找到两个条目。第一条目是JJ Field Trip Service Ltd.,且第二条目是JJ Pollen Counting Investments Limited。
图3A示出了在搜索组件130执行简单前缀搜索时,它对索引的要被搜索的各字段(在这一情况下是“描述”字段)中的单词进行搜索。因为用户已经将“j”键入到搜索框166,所以结果菜单168中的这两个结果被返回,因为它们在描述字段中的单词或文本片段之一的开头处具有“j”。在一个实施例中,这可以如图所示地完成,或通过使用句法,如“j*”。这仅是示例性的。在另一实施例中,搜索组件130定位在串中任何位置处包含字母“j”的任何记录。
图3B是搜索用户界面显示170的另一实施例。搜索用户界面显示170类似于搜索用户界面显示164,除了用户将字母“l”键入搜索框166之外。同样,所返回的结果与图3A所示的相同,因为搜索组件130在索引中的相同两个条目中的单词或文本片段之一的开头处找到字母“l”。
图3C示出了用户界面显示184的另一实施例。用户界面显示184示出了其中搜索组件130对短语执行前缀搜索的示例。可以看到,用户将字符串“jj f”输入到搜索框166。因为搜索组件130对索引记录中的短语执行前缀搜索,所以它在下拉显示168中只返回了““JJ Field Trip Service Ltd.”的记录。这一类型的搜索帮助用户110从以上参考图3A和3B描述的简单的前缀搜索缩窄了结果。
还将注意,如果搜索索引132中的多个字段可由搜索组件130搜索,则用户输入的文本被跨索引132中的所有可搜索字段进行搜索。在一个实施例中,这是自动完成的,无需用户110输入要被搜索的特定字段。它们被标记为索引中的可搜索字段且它们被搜索组件130自动搜索,以基于用户输入生成结果。
图3D示出了索引条目133的示例性集合的另一实施例。可以看到,索引组件104已经索引了六个字段,包括国家或区域ID、邮政编码、州、县、城市、以及街道。在用户键入(或以其他方式输入)字符134时,搜索组件130对图3D所示的搜索条目133中的所有字段进行搜索并返回结果。下表1列出了输入集合,其中所有输入将匹配图3D中所示的第一行。表1还示出了哪些列将被匹配。
表1
1.fry(街道列上的匹配)
2.ved(城市列上的匹配)
3.ad(街道列上的匹配)
4.all(街道列上的匹配)
下表2列出了输入集合,其中所有输入将匹配图3D中所示的第二行。表2还示出了将被匹配的特定列。
表2
1.Du(邮政编码和城市列上的匹配)
2.FO(街道列上的匹配)
当然,这些只是示例性的,并且它们提供将匹配各行的字符输入的示例,因为在这些即时搜索功能时多个不同字段被搜索组件130搜索。
在一个实施例中,用户110还可对返回的搜索结果136执行进一步结构化的搜索。这由图3的框184示出。将注意到,框184以幻影示出,因为它是可任选的。图3E示出了允许用户这样做的一个说明性用户界面显示186。在所示实施例中,结果136被返回且显示在结果窗格188中。用户可简单地通过点击或以其他方式致动所显示的结果之一来说明性地选择它。或者,用户可以执行附加搜索。例如,在图3E所示的实施例中,用户指示了结果要基于“别名”字段被进一步过滤,因为它被录入到过滤域190中。用户已指示结果要被过滤,使得别名字段不包含字母串“amikul”,如在域192中所示,但它的确包含字母串“ab”,如在框194中所示。在录入了这些进一步搜索参数之后,用户可简单地致动“确认”按钮196并且显示在结果窗格188中的结果被搜索组件130基于用户110在域190、192以及194中提供的进一步输入来进一步过滤或排序。
一旦搜索结果136已在UI显示108上被显示给用户110,用户可说明性地从所显示的结果集中选择搜索结果之一,或者用户可以提供附加键入(或其他字符)输入,使得搜索组件130可以继续执行即时搜索功能并进一步缩窄显示给用户110的返回结果136。确定用户是否已选择结果之一由图3中的框200指示。基于进一步键入输入来更新搜索结果由框202指示,且处理随后返回框176,在此经更新的搜索结果被显示给用户。
然而,如果在框200,确定用户已选择搜索结果之一,则搜索组件130返回并显示与所选搜索结果相对应的记录。这由框204指示。在一个实施例中,在用户选择搜索结果之一时,所选结果与来自业务数据记录118的实体120之一相对应。因此,搜索组件130返回所选实体并将它显示给用户。
业务数据组件103还说明性地生成所选实体与关系数据库116中的目标实体之间的正确关系。作为示例,假定用户创建了项目且需要将该项目分派给目标实体。用户使用搜索系统100来标识目标实体(如与给定客户相对应的实体)。在用户从返回结果136中选择与给定客户相对应的搜索结果时,业务数据组件103说明性地分派该刚创建的项目与关系数据库116中的给定客户实体之间的适当关系。作为示例,这可包括定义与给定客户相对应的实体同表示该项目的实体之间的关联。当然,用户110输入的项与关系数据库116中的目标记录之间的其他关系也可被创建。创建所选实体与目标实体之间的所需关系由图3中的框206指示。
因而,可以看到,系统100可被用在各种各样的不同上下文中。一个示例性上下文是在用户110搜索已知值的情况下。假定例如用户110具有大量纸质订单要录入到业务数据系统98。每一纸质订单包含该订单要被录入到的客户的名称。用户110打开业务数据系统98中的销售订单表单。要录入的信息段是与该销售订单相关的客户的名称。用户110可简单地将纸质订单的客户的名称的前几个字符(或甚至单个字符)键入销售订单表单上的客户域并且基于录入到系统100的该前几个(或单个)字符被呈现了返回结果136的下拉菜单(或其他用户界面显示108)。搜索组件130标识要作为结果136被显示给用户110相关字段,并且结果136可被显示,使得该列表中的第一结果被默认地选择。当然,如果用户110改变该列表中的焦点,则其他结果也可被选择。在用户继续键入字符而没有选择结果之一时,搜索组件130针对索引132启动附加搜索并更新所显示的结果136。
在另一示例中,用户110可以使用系统100来搜索部分已知的值。假定例如用户110在将销售订单录入到业务数据系统98的任务中被打断,但决定继续该任务。进一步假定用户110在当天早些时候在同销售人员打电话,其中该销售人员向用户110给出了销售订单的细节以录入到系统98。情况可能是用户110将销售订单的细节写在一张纸上,但不能完全回忆起客户的名称(它可能在纸张上以杂乱的方式被潦草地写下)在系统98中是“Sunflaw Wholesales”还是“Sunglyph Wholesales”。用户110因而打开系统98中的销售订单表单并导航到客户域且开始键入。在键入每一字符后(或在用户键入暂停后),用户110被呈现了与迄今为止在查询中录入的字符相匹配的客户结果。搜索组件130可以跨多个不同字段执行搜索,如客户名称、描述、备注、客户账户,等等。在用户110开始键入“su”字符时,可能存在与该查询相匹配的许多客户。这些的子集可被呈现给用户110作为用户界面显示108的一部分,并且用户110可被提供通过致动合适的用户输入机制来查看全部结果的选项。现在,用户110决定通过键入附加字母来缩窄结果,并且录入字母“n”,使得录入的串是“sun”。这可显著缩窄结果,用户110现在可以解读当天早些时候记录的手写笔记。
系统100也可被用来查找未知值。假定在另一示例中,用户110同样将销售订单录入到系统98且注意到一个特定订单提到了联系人信息。用户110可导航到该实体内的“联系人”框并请求联系人列表。用户110随后注意到联系人列表包含先前已被各销售人员录入到系统98的数百联系人。然而,用户110可将地区和国家录入到一个或多个搜索域。在用户110开始键入地区和国家的字符时,搜索系统130开始将联系人列表缩窄到与录入在适当的用户输入域中的地区和国家字符串相对应的那些。
图4是以各种体系结构示出的包括云计算体系结构500的系统98的框图。云计算提供了不要求最终用户知晓交付服务的系统的物理位置或配置的计算、软件、数据访问和存储服务。在各个实施例中,云计算通过诸如因特网之类的广域网使用合适的协议来交付服务。例如,云计算提供者通过广域网交付应用,并且它们可以通过web浏览器或任何其他计算组件被访问。系统98的软件或组件以及相对应的数据可被存储在远程位置处的服务器上。云计算环境中的计算资源可以被整合在远程数据中心位置处或者它们可以是分散的。云计算基础架构可以通过共享数据中心来交付服务,即使在用户看来它们是单个访问点。因此,在此所述的组件和功能可以从远程位置处的服务提供者使用云计算体系结构来提供。可替代地,它们可以从常规的服务器中提供,或者它们可以直接地或以其他方式安装在客户端设备上。
本说明书旨在包括公共云计算和私有云计算两者。云计算(公共和私有两者)提供了基本无缝的资源联营以及对管理和配置底层硬件基础结构的降低的需求。
公共云由供应商管理,并且通常支持使用同一基础结构的多个消费者。此外,与私有云相反,公共云能够将终端用户从管理硬件中释放出来。私有云可由组织本身管理,并且基础结构通常不与其他组织共享。该组织在某种程度上仍然维护着硬件,诸如安装和维修等。
图4中示出的实施例具体地示出了业务系统98位于云502(可以是公共的、私有的、或者其中某些部分是公共的而某些部分是私有的组合)中。因此,用户110使用用户设备504(它可以是具有客户端106的客户端设备)来通过云502访问那些系统。
图4还描绘了云体系结构的另一实施例。图4示出还构想了业务系统98的某些元素被置于云502中而某些元素没有被置于云502中。作为示例,数据库系统102可被置于云502的外部,并且通过云502来访问。在另一实施例中,系统98的部分或全部组件同样位于云502的外部。无论它们位于哪里,它们都可直接由设备504通过网络(广域网或局域网)访问,它们可由服务主存在远程站点处,或者它们可作为服务通过云来提供或通过驻留在云中的连接服务来访问。图4还示出系统98的某些或所有部分可位于设备504上。本文构想了所有这些体系结构。
还要注意,系统98或其部分可被置于各种不同的设备上。这些设备中的某些包括:服务器、台式计算机、膝上型计算机、平板计算机、或其他移动设备,诸如掌上计算机、蜂窝电话、智能电话、多媒体播放器、个人数字助理等。
图5是可被用作其中可部署本系统(或其部分)的用户或客户机的手持式设备16的手持式或移动计算设备的一个说明性实施例的简化框图。图6-9是手持式或移动设备的示例。
图5提供了客户端设备16的组件的大体框图,该客户端设备16可以运行系统98的组件或者与系统98交互、或二者。在设备16中,提供了通信链路13,该通信链路允许手持设备与其它计算设备通信,并且在一些实施例中提供用于诸如通过扫描来自动接收信息的信道。通信链路13的示例包括:红外端口、串行/USB端口、诸如以太网端口之类的电缆网络端口、以及允许通过一个或多个通信协议的通信的无线网络端口,所述通信协议包括作为用于提供对网络的蜂窝接入的无线服务的通用分组无线服务(GPRS)、LTE、HSPA、HSPA+、以及其他3G和4G无线电协议、1Xrtt和短消息服务,并包括提供对网络的无线连接的802.11和802.11b(WiFi)协议、和蓝牙协议。
根据其他实施例,应用或系统(如系统98)在连接到SD卡接口15的可移动安全数字(SD)卡上被接收。SD卡接口15和通信链路13沿总线19与处理器17(也可实现来自图1的处理器114、128或129)进行通信,该总线19还连接到存储器21和输入/输出(I/O)组件23、以及时钟25和位置系统27。
在一个实施例中,提供了I/O组件23以促进输入和输出操作。针对设备16的各个实施例的I/O组件23可以包括:输入组件,比如按钮、触摸传感器、多点触摸传感器、光学或视频传感器、语音传感器、触摸屏、邻近传感器、话筒、倾斜传感器以及重力开关;以及输出组件,比如显示设备、扬声器和或打印机端口。也可以使用其他I/O组件23。
时钟25说明性地包括输出时间和日期的真实时间时钟组件。时钟还可以说明性地为处理器17提供定时功能。
位置系统27说明性地包括输出设备16的当前地理位置的组件。这例如可以包括全球定位系统(GPS)接收机、LORAN系统、航位推算系统、蜂窝三角测量系统、或者其他定位系统。这例如还可以包括生成所期望的地图、导航线路和其它地理功能的测绘软件或导航软件。
处理器21存储操作系统29、网络设置31、应用33、应用配置设置35、数据存储37、通信驱动程序39以及通信配置设置41。存储器21可以包括所有类型的有形易失性和非易失性计算机可读存储器设备。其还可以包括计算机存储介质(下面描述)。存储器21存储计算机可读指令,所述指令在被处理器17执行时致使处理器根据所述指令执行计算机实现的步骤或功能。系统98或数据库系统102中的项例如可驻留在存储器21中。类似地,设备16可具有客户端业务系统24,该客户端业务系统可运行各种业务应用或实现系统98的部分或全部。处理器17可以也被其他组件激活以促进它们的功能。
网络设置31的示例包括诸如代理信息、因特网连接信息以及测绘之类的事物。应用配置设置35包括为特定企业或用户定制应用的设置。通信配置设置41提供了用于与其他计算机进行通信的参数,并且包括诸如GPRS参数、SMS参数、连接用户名和口令之类的项目。
应用33可以是之前已经存储在设备16上的应用或是在使用期间安装的应用,但是这些应用可以是操作系统29的一部分,或者也可以在设备16之外被托管。
图6和7示出其中设备16是平板计算机600的一个实施例。在图6中,计算机600被示为具有在显示屏602上显示的来自图3C的用户界面显示184。图7示出计算机600具有显示在屏幕602上的来自图3D的用户界面显示186。屏幕602可以是触摸屏(使得来自用户手指604的触摸姿势可以用于与应用交互)或者启用笔的界面,其接收来自笔或指示笔的输入。其还可以使用屏幕上虚拟键盘。当然,其还例如可以通过诸如无线链路或USB端口之类的合适的附连机制附连到键盘或其他用户输入设备。计算机600还可以说明性地接收语音输入。
图8和图9提供了可使用的设备16的附加示例,尽管也可以使用其他设备。在图8,提供智能电话或移动电话45作为设备16。电话45包括:一组小键盘47,其用于拨打电话号码;显示器49,其能够显示包括应用图像、图标、网页、照片和视频在内的图像;以及控制按钮51,其用于选择在显示器上示出的项目。电话包括天线53,该天线53用于接收诸如通用分组无线服务(GPRS)和1Xrtt之类的蜂窝电话信号以及短消息服务(SMS)信号。在一些实施例中,电话45还包括容纳安全数字(SD)卡57的SD卡槽55。
图9的移动设备是个人数字助理(PDA)59或多媒体播放器或平板计算设备等等(在此称为PDA 59)。PDA 59包括电感屏61,所述电感屏感测指示笔63(或其他指示器,诸如用户的手指)在该指示笔被置于屏幕之上时的位置。这允许用户在屏幕上选择、突出显示和移动项目以及绘图和书写。PDA 59还包括多个用户输入键或按钮(比如按钮65),其允许用户将显示器61上所显示的菜单选项或其他显示选项滚屏,并且允许用户在没有接触显示器61的情况下改变应用或选择用户输入功能。尽管未被示出,但是PDA 59可以包括允许与其他计算机进行无线通信的内置天线和红外发射机/接收机、以及允许对其他计算设备的硬件连接的连接端口。这样的硬件连接通常是通过经由串行或USB端口连接到其他计算机的支架来进行的。因此,这些连接是非网络连接。在一个实施例中,移动设备59还包括容纳SD卡69的SD卡槽67。
注意,设备16的其他形式是可能的。
图10是其中可采用(例如)系统98的计算环境的一个实施例。参考图10,用于实现一些实施例的示例性系统包括计算机810形式的通用计算设备。计算机810的组件可以包括,但不限于,处理单元820(可以包括处理器114、128和129)、系统存储器830和将包括系统存储器在内的各种系统组件耦合至处理单元820的系统总线821。系统总线821可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、外围总线、以及局部总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。参考先前附图描述的存储器和程序可被部署在图10的对应部分中。
计算机810通常包括各种计算机可读介质。计算机可读介质可以是能由计算机810访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质不同于且不包括已调制数据信号或载波。计算机存储介质包括硬件存储介质,该硬件存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法和技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由计算机810访问的任何其它介质。通信介质通常具体化计算机可读指令、数据结构、程序模块或传输机制中的其他数据,并包括任何信息递送介质。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述任何组合也应该包括在计算机可读的介质范围内。
系统存储器830包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)831和随机存取存储器(RAM)832。包含诸如在启动期间帮助在计算机810内的元件之间传输信息的基本例程的基本输入/输出系统833(BIOS)通常存储在ROM 831中。RAM 832通常包含处理单元820可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图10示出了操作系统834、应用程序835、其他程序模块836和程序数据837。
计算机810还可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图10示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器841,从可移动、非易失性磁盘852中读取或向其写入的磁盘驱动器851,以及从诸如CD ROM或其他光学介质等可移动、非易失性光盘856中读取或向其写入的光盘驱动器855。可在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器841通常通过诸如接口840之类的不可移动存储器接口连接到系统总线821,并且磁盘驱动器851和光盘驱动器855通常通过诸如接口850之类的可移动存储器接口连接到系统总线821。
以上讨论并在图10中示出的驱动器及其相关联的计算机存储介质为计算机810提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。在图10中,例如,硬盘驱动器841被示为存储操作系统844、应用程序845、其他程序模块846和程序数据847。注意,这些组件可与操作系统834、应用程序835、其它程序模块836和程序数据837相同,也可与它们不同。在此操作系统844、应用程序845、其它程序模块846以及程序数据847被给予了不同的编号,以说明至少它们是不同的副本。
用户可以通过诸如键盘862、话筒863以及诸如鼠标、跟踪球或触摸垫等定点设备861等输入设备来将命令和信息输入至计算机810中。其它输入设备(未示出)可以包括操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些以及其它输入设备通常通过耦合到系统总线的用户输入接口860连接到处理单元820,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)之类的其它接口和总线结构来连接。视觉显示器891或其他类型的显示设备也经由诸如视频接口890之类的接口连接至系统总线821。除了监视器以外,计算机还可包括诸如扬声器897和打印机896之类的其它外围输出设备,它们可通过输出外围接口895来连接。
计算机810使用到诸如远程计算机880等一个或多个远程计算机的逻辑连接在网络化环境中操作。远程计算机880可以是个人计算机、手持设备、服务器、路由器、网络PC、对等设备或其它常见的网络节点,且一般包括以上关于计算机810描述的多个或所有的元件。图8中所描绘的逻辑连接包括局域网(LAN)871和广域网(WAN)873,但还可包括其他网络。此类联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。
当在LAN联网环境中使用时,计算机810通过网络接口或适配器870连接到LAN 871。当在WAN联网环境中使用时,计算机810通常包括调制解调器872或用于通过诸如因特网等WAN 873建立通信的其它手段。调制解调器872可以是内置的或外置的,可经由用户输入接口860或其它适当的机制连接到系统总线821。在联网环境中,相关于计算机810所示的程序模块或其部分可被存储在远程存储器存储设备中。作为示例,而非限制,图10示出了远程应用程序885驻留在远程计算机880上。应当理解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链路的其它手段。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特定特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。
Claims (10)
1.一种访问数据的计算机实现的方法,包括:
在搜索用户输入机制中接收多字符查询的第一字符输入;
基于所述第一字符输入并且在接收到所述多字符查询的后续字符输入之前搜索关系数据库中的实体索引,以获得搜索结果;以及
显示所述搜索结果作为用户可选择的显示元素,每一可选择的显示元素与所述搜索结果中的实体相对应。
2.如权利要求1所述的计算机实现的方法,其特征在于,所述第一字符输入包括多个字符,并且其中对所述索引的搜索是在用户暂停提供所述多字符查询达给定时段时执行的。
3.如权利要求1所述的计算机实现的方法,其特征在于,接收第一字符输入包括:
显示具有接收文本输入中的各单独字符的搜索用户输入机制的搜索用户界面显示。
4.如权利要求3所述的计算机实现的方法,其特征在于,显示所述搜索结果包括:
在所述搜索用户输入机制附近的下拉显示中显示所述搜索结果的列表。
5.如权利要求1所述的计算机实现的方法,其特征在于,还包括:
接收后续字符输入集合;以及
在所述后续字符输入集合中的每一字符输入之后且在接收到所述后续字符输入集合中的下一字符输入之前,搜索所述关系数据库系统中的实体索引,对所述实体索引的搜索是基于接收到的字符输入的。
6.如权利要求1所述的计算机实现的方法,其特征在于,对索引进行搜索包括:
使用索引组件生成与所述关系数据库系统分开的所述索引;
使用所述索引组件间歇地更新所述索引;以及
搜索与所述关系数据库系统分开的索引。
7.如权利要求6所述的计算机实现的方法,其特征在于,对所述索引进行搜索包括:
使用与所述关系数据库系统分开的搜索组件来对所述索引进行搜索。
8.如权利要求1所述的计算机实现的方法,其特征在于,还包括:
接收选择给定用户可选择的显示元素的用户输入;
从所述关系数据库返回与所述给定用户可选择的显示元素相对应的实体;以及
自动生成所述关系数据库中的目标实体与所返回的实体之间的关联。
9.如权利要求1所述的计算机实现的方法,其特征在于,显示所述搜索结果包括:
在结果窗格上显示所述搜索结果;以及
显示附加搜索用户输入机制以接收附加搜索输入来基于所述附加搜索用户输入过滤所述结果窗格中的返回结果。
10.一种业务数据系统,包括:
关系数据库系统,所述关系数据库系统包括关系数据库和数据库服务器组件;
业务数据组件,所述业务数据组件接收业务数据用户输入并基于所述业务数据用户输入实现所述关系数据库系统中的业务数据操作;
搜索系统,所述搜索系统显示搜索用户界面显示并通过所述搜索用户界面显示上的搜索用户输入机制接收字符集,并且在接收到所述字符集时显示与所述关系数据库中的匹配所述接收到的字符集的实体相对应的搜索结果;以及
计算机处理器,所述计算机处理器是所述搜索系统的功能组件且由所述搜索系统致动以促进显示所述搜索结果。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/658,827 | 2012-10-24 | ||
US13/658,827 US9665615B2 (en) | 2012-10-24 | 2012-10-24 | Search-as-you-type on a relational database |
PCT/US2013/065759 WO2014066186A1 (en) | 2012-10-24 | 2013-10-18 | Search-as-you-type on a relational database |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104756110A true CN104756110A (zh) | 2015-07-01 |
CN104756110B CN104756110B (zh) | 2018-03-13 |
Family
ID=49551758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380055946.1A Active CN104756110B (zh) | 2012-10-24 | 2013-10-18 | 关系数据库上的即时搜索 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9665615B2 (zh) |
EP (1) | EP2912571A1 (zh) |
CN (1) | CN104756110B (zh) |
WO (1) | WO2014066186A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457504A (zh) * | 2018-05-07 | 2019-11-15 | 苹果公司 | 数字资产搜索技术 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9122755B2 (en) | 2013-02-26 | 2015-09-01 | Sap Se | Instantaneous incremental search user interface |
JP6087184B2 (ja) * | 2013-03-21 | 2017-03-01 | 任天堂株式会社 | 情報処理プログラム、情報処理システム、情報処理装置、および、情報提示方法 |
US10409808B2 (en) * | 2013-10-30 | 2019-09-10 | Salesforce.Com, Inc. | System and method for metadata management via a user interface page |
US10740413B2 (en) | 2013-10-30 | 2020-08-11 | Salesforce.Com, Inc. | System and method for user information management via a user interface page |
US9715515B2 (en) * | 2014-01-31 | 2017-07-25 | Microsoft Technology Licensing, Llc | External data access with split index |
CN105956067B (zh) * | 2016-04-27 | 2019-07-05 | 北京小米移动软件有限公司 | 资源搜索方法及装置 |
CN106503258B (zh) * | 2016-11-18 | 2020-05-12 | 深圳市世强元件网络有限公司 | 一种网站站内精确搜索方法 |
US11281682B1 (en) | 2020-11-09 | 2022-03-22 | Optum, Inc. | Combining data sources for type down search results |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050289184A1 (en) * | 2004-06-25 | 2005-12-29 | International Business Machines Corporation | Relationship management in a data abstraction model |
US20100179964A1 (en) * | 2009-01-09 | 2010-07-15 | Satyanarayanan Ramaswamy | User interface and system for two-stage search |
US20110264666A1 (en) * | 2010-04-26 | 2011-10-27 | Nokia Corporation | Method and apparatus for index generation and use |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090006543A1 (en) | 2001-08-20 | 2009-01-01 | Masterobjects | System and method for asynchronous retrieval of information based on incremental user input |
US7752326B2 (en) | 2001-08-20 | 2010-07-06 | Masterobjects, Inc. | System and method for utilizing asynchronous client server communication objects |
US9529974B2 (en) * | 2008-02-25 | 2016-12-27 | Georgetown University | System and method for detecting, collecting, analyzing, and communicating event-related information |
US8073869B2 (en) | 2008-07-03 | 2011-12-06 | The Regents Of The University Of California | Method for efficiently supporting interactive, fuzzy search on structured data |
US20110262102A1 (en) | 2010-04-13 | 2011-10-27 | Lahr Nils B | System and methods for optimizing buffering heuristics in media |
US9832154B2 (en) * | 2011-07-12 | 2017-11-28 | Panorama Software Inc. | Enhanced usage of business intelligence systems |
-
2012
- 2012-10-24 US US13/658,827 patent/US9665615B2/en active Active
-
2013
- 2013-10-18 WO PCT/US2013/065759 patent/WO2014066186A1/en active Application Filing
- 2013-10-18 CN CN201380055946.1A patent/CN104756110B/zh active Active
- 2013-10-18 EP EP13786799.0A patent/EP2912571A1/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050289184A1 (en) * | 2004-06-25 | 2005-12-29 | International Business Machines Corporation | Relationship management in a data abstraction model |
US20100179964A1 (en) * | 2009-01-09 | 2010-07-15 | Satyanarayanan Ramaswamy | User interface and system for two-stage search |
US20110264666A1 (en) * | 2010-04-26 | 2011-10-27 | Nokia Corporation | Method and apparatus for index generation and use |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110457504A (zh) * | 2018-05-07 | 2019-11-15 | 苹果公司 | 数字资产搜索技术 |
CN110457504B (zh) * | 2018-05-07 | 2022-12-20 | 苹果公司 | 数字资产搜索技术 |
Also Published As
Publication number | Publication date |
---|---|
EP2912571A1 (en) | 2015-09-02 |
CN104756110B (zh) | 2018-03-13 |
WO2014066186A1 (en) | 2014-05-01 |
US20140114955A1 (en) | 2014-04-24 |
US9665615B2 (en) | 2017-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104756110A (zh) | 关系数据库上的即时搜索 | |
JP6063965B2 (ja) | 個人情報のジオコーディング | |
CN105229637B (zh) | 内容集合的自动生成 | |
US10776571B2 (en) | Dispatch of user input to multiple input fields in a user interface | |
US9772755B2 (en) | Remote control for displaying application data on dissimilar screens | |
US11416948B2 (en) | Image tagging for capturing information in a transaction | |
CN105264492A (zh) | 系统行为的自动发现 | |
CN107533696B (zh) | 自动地将内容与人员相关 | |
CN105612496A (zh) | 基于存储的生命周期信息来自动推荐更新 | |
US10197415B2 (en) | Method of sharing information through map service and electronic device therefor | |
US9195715B1 (en) | Providing information regarding prior searches | |
CN105229638B (zh) | 作为对内容的收集的贡献者的自动化的库管理员 | |
CN105393086A (zh) | 捕捉和管理项目的用户体验 | |
US20160275189A1 (en) | Language and security aware search for user navigable entry points | |
US20150154682A1 (en) | Enriching product catalog with search keywords | |
CN104769579A (zh) | 文档管理系统中的列表管理 | |
CN105940419A (zh) | 具有可选工作空间表示的控制板 | |
KR101705556B1 (ko) | 연관도를 이용한 연관 노트 제공 방법 및 장치 | |
CN106462619B (zh) | 在企业系统中过滤数据 | |
WO2016176379A1 (en) | Extracting and surfacing user work attributes from data sources | |
US20160306868A1 (en) | Multi-level database searching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20171017 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |