用于在数据库中搜索对象的方法

文档序号:6000575阅读:274来源:国知局
专利名称:用于在数据库中搜索对象的方法
技术领域
本发明涉及用于在数据库中搜索对象的方法。本发明具体涉及在移动(导航)装置上的地图搜索。基于GPS的移动导航系统现今被良好地建立,具体地说作为所谓的个人导航装置(PND)或越来越多地作为在移动电话 (特别是智能电话)上的软件导航应用,基于GPS的移动导航系统在下文中整体被称为导航
直ο
背景技术
虽然在智能电话市场内的联网导航解决方案越来越多地发挥作用(所谓的连接的导航;例如,用于基于因特网的地图服务的移动客户机),但是大多数导航解决方案被设计来以它们不要求(永久或频繁的)网络连接的自给自足的方式来工作(所谓的离线导航)。这是有益的,一方面因为网络连接的高成本,另一方面因为网络连接不总是可获得,特别是当旅行时,由于在国家的(农村)部分中的有限的网络覆盖或在不同国家中的不同的网络设置导致网络连接不总是可获得。自给自足的移动导航装置必须在诸如快闪存储卡(例如,SD卡)等的数据存储介质上包含通常具有高度压缩形式的全部地图材料。在导航装置内,关键的用户交互操作之一是在地图中输入和搜索任意对象(诸如街道地址或特定的兴趣点(POI)),例如以使得用户能够限定导航路由的目的地。在此,输入操作的复杂度决定了系统的可用性和用户的满意度,该输入操作的复杂度具体地说是所需要的键击或选择的数量、可能的等待时间和交互反馈的质量。传统的导航装置通常提供用于在地图中找到和定位对象的两种可能。一方面,用户可以通过下述方式来确定目的地交互地移动(平移)和变焦在移动导航装置上显示的地图分段,因此,到达包含目的地的地图区域,使得可以通过使用指示器(例如,触敏屏)选择(拾取)目的地来确定目的地。然而,这个处理是乏味的,并且由于(移动)导航装置的硬件限制导致可能出现等待时间。另外,这样的处理经常是不实用的,因为用户必须预先具有关于在地图中在地理上何处找到目的地的相当精确的知识—— 经常不是这样的情况。因此,另一方面,导航装置传统上提供基于文本的搜索功能,通过该功能,用户可以根据对象的名称(例如,街道名称或兴趣点的名称)来定位对象。在诸如台式计算机或服务器的静态计算机上,穷尽地搜索所有可获得的地图材料的全部存储的数据记录通常不形成问题。因此,这样的搜索功能被许多地理信息系统(GIS) 和地理数据库软件产品支持。基于因特网的地图服务(诸如,现今的Google地图)在用户友好性上优化搜索功能,并且其中,使用从因特网搜索引擎已知的功能。它们允许自由文本搜索,该自由文本搜索将由用户输入的多个搜索项与在地图中的所有对象的所有属性作比较。然后,搜索结果根据其相关度被分类和显示。然而,这样的解决方案和它们的基本算法不能被应用在传统的移动导航装置内,因为这样的导航装置的主存储器或处理器都不足以用于这样的软件应用的执行。此外,这样的导航装置的存储器未提供足够的存储空间来容纳所需要的标准化 (未被压缩或仅被略微地压缩的)地图格式并且存储软件的执行所需的和在数据库搜索期间产生的另外的数据文件(例如,数据库索引文件)。由于这样的限制,传统的移动导航装置仅提供用于基于文本的搜索的简单选项。 在此,搜索处理通常要求分层的地理约束,在此期间,用户首先必须选择区域(例如,国家和/或城市),并且最后选择街道地址或不同的搜索项(诸如兴趣点的名称)。仅在进入区域后,执行对于可能的街道地址或其他搜索项的搜索,因为传统的搜索算法由于常见移动导航装置的当前硬件限制而不允许以基于因特网的地图服务的方式来在地图的所有区域上进行自由文本搜索。

发明内容
本发明的目的是提供一种方法和导航装置,其允许在移动导航装置的地图数据内的对于对象的自由文本搜索。使用包括权利要求1的特征的方法来实现这个目的。根据这一点,提供了一种用于借助于索引数据结构来在数据库中搜索对象的方法。在此,每一个对象具有二维或三维的空间位置,并且可以相对于搜索模式匹配。该索引数据结构将诸如对象名称的对象属性值与被定义来分割空间的空间元素——诸如四叉树的瓦片(tile)或八叉树的立方体——的集合(集)相关联,该空间特别是二维平面或三维空间。预定义的数量的空间元素能够组合为下一级的空间元素。在所述方法期间,对于第一输入搜索模式搜索索引数据结构,并且如果第一输入搜索模式通过索引数据结构与空间元素的第一集合相关联,则来自第一集合的所有空间元素被加到空间元素的第一候选集。在此,如果在第一候选集中的空间元素的数量超过预定最大值,则该空间元素的一些或全部被组合为数量减少的下一级空间元素。在对于第一输入搜索模式搜索索引数据结构后,同时或随后地对于第二输入搜索模式搜索索引数据结构,并且如果第二输入搜索模式通过索引数据结构与空间元素的第二集合相关联,则来自第二集合的所有空间元素被加到空间元素的第二候选集。再一次,如果在第二候选集中的空间元素的数量超过预定最大值,则空间元素的一些或全部被组合为数量减少的下一级空间元素。当已经获得第一候选集和第二候选集时,形成第一候选集和第二候选集的交集以获得空间元素的组合候选集。然后,以穷尽的方式对于与第一输入搜索模式和第二输入搜索模式匹配的对象搜索这个组合的候选集,以最终获得匹配所有的输入搜索模式的结果对象集。本发明允许非常高效地计算候选集。特别是对于无表达力的搜索模式(例如,在很多对象中出现的短搜索词),当使用传统方法时获得的候选集可能较大,并且,它们的作为内核数据结构的表示和它们的组合处理(例如,在搜索处理期间计算它们的交集)在具有限制的资源的硬件平台(诸如移动导航装置)上是不实用的。本发明允许仅使用小的存储量来表示空间元素的大的候选集并且使用小的计算工作量来处理该候选集。即使在两个候选集每一个很大的情况下,它们的交集可以具有较小的基数,使得结果产生的组合候选集可以不仅被高效地确定,而且小得足以对于与所有的输入搜索项匹配的结果对象被穷尽性地搜索。实际上,利用所提供的方法,变得有可能在受限的硬件平台上高效地确定搜索结果,即使对于非常无表达力的搜索模式,诸如在交互用户输入的较早阶段出现的那些。在这个上下文中,输入搜索模式是可以被用户交互地输入的模式,并且可以是包含字母字符和/或数字的文本串。为了搜索对象的目的,所述方法不限于一个或两个输入搜索模式。用户不妨可以输入三个或更多个搜索模式,并且通过以由集合论法则所允许的任何顺序地相交与搜索模式相关联的所有候选集来确定组合的候选集。空间元素的集合是包含与诸如对象名称的对象属性值相关联的一个或多个空间元素的集。索引数据结构将对象属性值与例如用于分割二维平面的、四叉树的空间元素的集合相关联。在四叉树中,每一个空间元素对应于瓦片,即,二维平面的矩形分段,其中,四个邻接的瓦片可以被组合为一个下一级瓦片,该下一级瓦片形成下一级空间元素,该下一级空间元素的区域覆盖四个原始瓦片。通常,四叉树被定义为树,其中,每一个非叶节点具有四个子节点。在此,可以使用均勻深度的四叉树。索引数据结构可以具有所谓的特里结构的结构,该特里结构构成树,使用非空串标注该树的边,并且通过从根到节点的路径的边标签的级联来标注该树的节点。根本身例如被使用空串标注。对于在空间元素的第一候选集或第二候选集内的空间元素的组合,四个或更少的邻接的瓦片被组合为一个下一级瓦片,这个组合表示安全的紧化,其中,下一级的空间元素的区域表示组合的空间元素的(不正确的和正确的)超集。通过对于第一输入搜索模式或第二输入搜索模式搜索索引数据结构,查看第一输入搜索模式或第二输入搜索模式是否与空间元素的对象属性匹配。为此,每一个搜索模式可以表示文本串,即,通过字母字符和/或数字形成的串。在搜索期间将该文本串与对象的属性(即,名称)作比较。如果文本串匹配属性或属性的前缀(即,属性名称的开头与文本串匹配),则将所关联的空间元素的集合加到相应的候选集。换句话说,通过下述方式对于输入搜索模式搜索索引数据结构通过对于具有与搜索模式匹配的前缀的所有的索引键 (即,以在搜索模式中包含的字符或数字开始的索引键)搜索索引数据结构。对于所有的这些索引键,如果索引键通过索引数据结构与空间元素的集合相关联,则来自这个集合的所有空间元素被加到空间元素的候选集,其中,如果在候选集中的空间元素的数量超过预定最大值,则空间元素的一些或全部被组合为数量减少的下一级空间元素。通过这种技术,与在索引数据结构中匹配搜索模式的所有键相关联的所有候选集的紧化的并集可以被递增地和高效地构造,并且具有可管理的、有限大小的存储量表示。在本发明的一个实施例中,对于在索引数据结构中的输入搜索模式的搜索,可以使用辅助索引数据结构,该辅助索引数据结构将对象属性值或对象属性值的前缀与已经通过索引数据结构预先组配的辅助候选集相关联。在此,如果在辅助索引数据结构中的搜索产生非空集,则这个集产生期望的候选集。否则,通过对于输入搜索模式搜索(主)索引数据结构来获得期望的候选集。
以这种方式,可以进一步改善该方法的效率。对于要确定其相关联的候选集的每一个搜索模式,使用另一个辅助索引数据结构,而不是搜索完整的主索引数据结构,该另一个辅助索引数据结构将可能的对象属性值前缀的子集与预先紧化的、预先组配的候选集相关联。如上所述,通过将空间元素组合为数量减少的下一级空间元素来进行在此的预先紧化,但是该预先紧化发生在生成辅助索引数据结构时,即,在处理搜索查询之前。如果在辅助索引数据结构中的搜索产生非空集,则期望的候选集完成。否则通过在(主)索引数据结构中搜索来计算期望的候选集。该方法允许确定候选集,即使对于非常无表达力的搜索模式,例如,仅包含单个字符的搜索串。对于这样的情况,在主索引数据结构中的对于前缀的搜索不是很高效,因为在索引数据结构中找到相对于搜索模式的许多前缀匹配,导致需要考虑要在候选集中包括的空间元素的许多相关联的集合。利用所提出的修改,大量的集合被替换为由辅助索引数据结构提供的小得多数量的有限大小集合。在导航装置内使用的数据库可以包含地理地图的数字地图数据。在该情况下,对象对应于地图数据的地理对象,例如,街道和兴趣点,二维平面对应于要由导航装置显示的地理地图。索引数据结构因此将地理对象的名称与其中名称表示地理对象的属性的瓦片的近似集相关联。瓦片源自整个地图——诸如洲地图——的分层四叉树分割,并且使用特定的二进制编号方案来将瓦片编号。以下述方式发生搜索使用一个或多个输入搜索模式来查询索引数据结构。从这一点,产生包含其中搜索模式作为属性出现的对象的瓦片集。对于合取搜索,即,多个输入搜索模式的组合查询(逻辑与合取),形成单个输入搜索模式的候选集的交集。因此,在第二步骤中,对于包含有作为属性的所有输入搜索模式的对象穷尽性地搜索所产生的组合候选集。该思想允许容易地减少用于包含公共前缀(词的开头)在内的所有名称的候选集。由此,高效的合取多前缀搜索变得可能。为了获得与前缀相关联的候选集,形成前缀的所有可能后续部分的候选集的组合集。索引数据结构的使用和相关联的候选集的永久表示实质上将这个处理缩小为顺序读入被递增地加到在主存储器中的工作集的元素。 为了能够也对于在移动装置上的大候选集执行该方法,需要以存储节省的方式来表示(大)瓦片集,以便以在计算上高效的方式来向该集应用操作。在此的具体表示基于瓦片的编号方案和下述情况来自小瓦片的预定四叉树模式可以等同地被更大的下一级四叉树表示。通过组合瓦片,要存储的瓦片的数量减少,并且该表示“被紧化”。可以使用等同的紧化(其中,在所有情况下,四个瓦片被组合为相关联的下一级瓦片)和安全的近似紧化(其中,四个或更少的瓦片被组合为相关联的下一级瓦片,并且由下一级瓦片表示的区域是由原始瓦片覆盖的区域的超集)。安全的近似紧化为了搜索的目的在下述方面是安全的它至多导致在候选集中包含的瓦片的数量的增大,这意味着最终可能必须穷尽性地查看其中没有真实的候选对象的另外的瓦片,但是同时,排除了表示的不准确导致遗漏真实的候选者。在该方法的优选实施例中,当交互地输入第一输入搜索模式和/或第二输入搜索模式时,递增地减小组合候选集。其基础是如果对于多前缀搜索查询(包括一个或多个输入搜索模式)计算组合候选集,并且如果用户通过在一个或多个搜索模式的结尾加上一个或更多个字符或通过增加一个或多个新的搜索模式来改变搜索查询,则可以通过利用集合论的定律和下述事实以从旧的组合候选集递增的方式高效地确定新的组合候选集与(以刚刚描述的方式)扩展的前缀相关联的候选集总是与原始前缀相关联的候选集的子集。仅要求用于每一个改变的或增加的搜索模式的单个相交操作。在这个相交操作中,从新的或改变的搜索模式获得的新的候选集与旧的组合候选集相交。在所有情况下的组合候选集的基数减小或至少不增大。在另一个实施例中,当交互地输入第一输入搜索模式和/或第二输入搜索模式时,提供了关于组合候选集的表达力的反馈,其中,如果组合候选集的基数减小,则表达力增大。例如,如果组合候选集的基数变得小于预定阈值,则可以提供反馈。不仅可以经由显示器以可视的方式提供反馈,而且可以经由扬声器可听地或经由触觉输出装置(例如,产生振动)可触觉地提供反馈。索引数据结构的具体结构在搜索查询的每一个输入或存储的搜索查询的改变后允许搜索查询(由一个或多个输入搜索模式构成)的表达力(即,搜索查询的限制搜索区域的能力)的快速估计和评估。如果结果产生的组合候选集包括小(但是正)的基数,则在本上下文中,搜索查询具有高表达力。索引数据结构的具体永久结构使得有可能以良好的精度来估计组合候选集的基数,而不执行在该集中包含的空间元素的完整计数。通过这样,具有有限资源的移动导航装置也变得可能当输入或改变搜索查询时向用户提供关于搜索查询的实际表达力的即时反馈。例如,导航装置的显示可以被建立来在搜索查询变得充分地有表达力以获得可以使用合理的计算工作量穷尽性地搜索的组合候选集的情况下将显示的输入窗口的红色背景着色改变为黄色。如果用户在该情况下不继续输入,则(可能在用于较大数量的空间元素内的穷尽性搜索的等待时间后)输出包含在组合候选集的空间元素中找到的结果对象的结果列表。通常,由于搜索查询的有限表达力,在结果列表内包含所要的目的地对象的可能性相当有限。然而,如果用户继续输入,则一旦与改变的搜索查询相关联的组合候选集的估计基数变得小于实质上更小的、预定义的阈值,那么着色改变为绿色。在该情况下,在已经获得具有小基数的组合候选集时,可以以快速和高效的方式来执行与组合候选集相关联的空间元素的穷尽性搜索,并且由于搜索查询的高表达力,存在在所获得的所找到的对象的结果列表中存在所要的目的地对象的大的机会。表达力估计也允许不与任何瓦片相关联的输入的即时识别。在该情况下,组合候选集的基数取零值。为零的基数通常源自在输入搜索模式中的打字错误,使得在索引数据结构中找不到匹配的对象属性,并且产生空的候选集。这样的打字错误相应地可以被适当的反馈立即指示,该反馈例如是可视、可听或触觉警告(诸如输入窗口的红色闪烁)。为了保证有效的搜索,仅在候选集的基数已经变得小于预定阈值后执行在空间元素的组合候选集中的结果对象的穷尽性搜索。在穷尽性搜索期间或之后,经由诸如导航装置的显示器的输出装置来输出结果对象。为了限制在空间元素的组合候选集中的对象的穷尽性搜索的计算工作量(和由用户感知的相关联的过去的等待时间),可以采取下面的措施的一个或多个-对已经被搜索的空间元素的数量进行计数,并且当超过预定义的极限时,停止该处理,或者-对已经找到的对象的数量进行计数,并且,当超过预定义的极限时,停止该处理,或者-对用于搜索的过去的时间进行测量,并且当超过预定义的时间极限时,停止该处理。在此,在增加或改变搜索模式的每一个用户输入后和在计算从新的或修改的搜索查询导致的新的组合候选集后,开始或重新开始对于在组合候选集中的对象的穷尽性搜索。在本上下文中,可以在与索引数据结构的层级对应的两个或更多个阶段中,从较高(更粗)层级开始并且进行到一个或更多个更细的层级,完成对于对象的穷尽性搜索。 在第一阶段中,穷尽性地搜索(在四叉树中的)较高层级的瓦片。这样的瓦片可能不包含在较低层级中的瓦片的所有信息,而是仅包含最重要的信息(诸如大城市的名称或很重要的兴趣点)。因此,在第一阶段中的搜索是粗略的,因为不是所有的信息都被考虑。在下一个阶段中,可以然后搜索较低层级的瓦片,直到在最后阶段,穷尽性地搜索在最低、最细层级的瓦片并且考虑其中包含的所有信息。以这种方式,穷尽性搜索变得越来越精确,其中, 在早期阶段,结果对象的列表可以已经被输出到用户。此外,如果在完成之前停止穷尽性搜索,例如,因为达到时限,所以保证此时至少已经显示了最重要的搜索结果。在另一个实施例中,除了主索引数据结构之外,进一步可以使用另一种独立的索引数据结构,该另一种独立的索引数据结构将对象属性值与空间元素的集合相关联,但是仅对于描述对象所位于的区域的那些对象属性(例如,诸如“周围城市的名称”、“对象的邮政编码”、“周围国家的名称”的属性)如此进行,并且忽视所有其他属性。因此,这种独立的索引数据结构在大小上受限,并且可以用于在使用主索引数据结构在期望区域中搜索特定部分之前迅速地识别期望的区域(例如,城市)。通过首先使用独立的索引数据结构来搜索区域,当对于主索引数据结构搜索对象时必须考虑的空间元素的数量可以被预先限制到与特定区域相关联的那些空间元素,因此减少了进一步用于所述方法的计算工作量。也可以将搜索限制为仅考虑与特定的目标区域相关联的空间元素。如果仅来自特定区域的搜索结果是感兴趣的(例如,在用户的当前GPS位置周围的区域),则可以如所述应用搜索方法,但是另外,在执行穷尽性搜索来获得实际匹配之前,候选集与空间元素的另一个集——称为“目标区域集”——相交。为了这个目的,将目标区域集构造为用于描述目标区域的一组空间元素,或通过超集来近似它。由于这个集通常已经具有小尺寸,它可以被用作初始候选集,当根据输入搜索模式来递增地计算进一步的候选集时,对于该初始候选集应用所有进一步的相交。如果目标区域集使用很粗略的近似,则可以在穷尽性搜索期间滤除和忽视在实际目标区域之外的结果对象。在另一个实施例中,在组合候选集的穷尽性搜索后和在获得与所有的输入搜索模式匹配的结果对象集后,以相关度降低的顺序来显示结果对象。例如,可以使用一组启发规则来确定对象的相关度,该一组启发规则用于指示下述概率结果对象集的对象表示用户实际上意欲要找到的对象(例如,诸如街道地址或兴趣点的目的地)。当显示搜索结果的列表时,因为例如在移动导航装置上的有限的显示大小,非常重要的是以估计的结果对于用户而言的相关度的顺序来呈现结果,使得真实的目的地对象具有在列表的顶部或至少接近列表的顶部处示出的高概率。为此,已经开发了一组规则,该规则允许以高精度来评估可能的相关度。这些规则一方面使用源自由用户输入并且由一个或多个搜索模式构成的搜索查询的细节信息。另一方面,它们使用下述信息该信息被存储为在地图中的对象属性,并且指示特定对象(诸如特定重要度的兴趣点)的提高的一般相关度。启发规则可以例如-考虑用户已经选择的输入搜索模式的顺序(例如,第一搜索模式可以指示城市, 第二搜索模式可以指示街道),-认为地区/城市比街道更重要,-认为大城市比小城市更重要,-认为与城市或飞机场对应的兴趣点比其他兴趣点更重要,-认为兴趣点比街道更重要,并且/或者-认为大街道比小街道更重要。在导航装置内,数据库包含地图数据,其中,对象对应于地理对象。在该方法的另一个实施例中,当交互地输入第一输入搜索模式和/或第二输入搜索模式时,输出与空间元素的组合候选集对应的地理区域。在该情况下,对于每个搜索查询,计算地图瓦片的组合候选集,并且对于这样的集的每一个,确定对应于或包含相应的组合候选集的地理区域。这个区域可以例如是矩形的,通过在组合候选集中包含的所有瓦片的最北、最南、最西和最东的边来确定该矩形的边。在搜索查询的输入后用于表示这个矩形的地图分段的迅速显示提供了其中可能会找到所要的目的地的区域的快速概览。优选的是,在此,在通常在计算上是耗时的、在组合候选集内执行对象的穷尽性搜索之前,更新地理区域的显示。
当交互地输入第一输入搜索模式和/或第二输入搜索模式时,可以递增地限制与空间元素的组合候选集对应的地理区域。以这种方式,与在搜索查询的输入期间的候选集的高效递增限制相组合,(如果可获得高效的地图可视化)可以获得具体的视觉印象,其中,搜索查询的逐步递增输入伴随有连续变焦的地理区域的显示,该连续变焦的地理区域用于表示所要的目的地可能位于的区域。地理区域在此可以对应于范围从示出整个洲的地图至仅包含目的地对象(或很少的其他对象)及其直接环境的小地图分段的地图分段。利用足够的显示速度和显示比例的连续调整(可能使用内插技术),与摄像机的变焦效果类似地获得视觉印象。为了改善地图显示的速度,有可能通过省去诸如森林区域的小重要度的地图细节,或通过减少在地图中所示的文本,实质上简化所显示的地图分段。在另一个实施例中,经由减小的键盘来输入第一输入搜索模式和/或第二输入搜索模式,在减小的键盘中,多个字母或数字被分配到键盘的一个按键,其中,对于输入搜索模式的每个字符,仅须将每一个按键按下一次。以这种方式,利用下述情况利用自然语言的词或地理名称的不同的、均勻地相邻的字符在一定程度上不相关的统计属性,通常通过每一个另外的输入字符来减少结果产生的不确定性。在第一种变化形式中,可以避免可区别字母(元音变音)的输入,传统上必须使用复杂的步骤序列经由在移动装置上的虚拟或物理键盘来输入该可区别字母。对于这个实施例,现在变得可能作为搜索模式的一部分输入与元音变音相关联的基本字母(例如,对于 Λ1”而言的“A”),其中,在搜索处理内,将元音变音以及基本字母视为匹配。在第二种变化形式中,可以使用(包含导航应用并且作为导航装置的)移动电话
12的数字键盘,其中,向每一个数字按键(按键“0”至“9”、“*”、“#”,像传统上已知的那样向它们分配字母(“2” = “ABC”,“3” = “DEF”、...))分配多个字母。对于搜索模式的输入, 不要求多个键击(例如,对于“C”,仅须按压一次按键“2”)。用户可以以这种方式来以快速方式输入搜索查询,就好像使用全键盘那样。因此,与微型化的全键盘相比,键入错误变得更不可能,因为它们例如显示在触摸屏上。使用这种思想的方法的实际实现方式不是更复杂,并且该方法的执行与经由全键盘的输入作比较仅在计算能力上略微成本更大。在装置内,可以使用物理键盘以及在显示器上显示的虚拟键盘。在后一种情况下, 可以使用指示装置、定向键盘、特定触发按键或触敏屏来激励虚拟按键。该方法的一个实施例可以使用多阶段启发搜索策略,该策略基于以特定方式来解释搜索查询的输入搜索模式的思想。在本上下文中,对于具体解释,向由用户输入的搜索查询的每一个输入搜索模式分配所谓的角色。基本思想源自下面的观察当用户输入特定的搜索查询以意欲在数据库中(例如,在地理地图中)找到特定的目标对象时,这意味着以他的或她的观点,有可能仅基于这个搜索查询来唯一地识别目标对象——并且,这通常(虽然不总是)是实际情况。现在,即使用户通常不明确地详细考虑这一点,他或她当被咨询时通常能够解释如何可以以清楚地识别目标对象的方式来明白这个搜索查询。因此,该方法“仅”需要能够 “猜测”这种解释。通过下述方式来如此进行通过向搜索查询的输入搜索模式的每一个分配角色来以特定方式解释输入搜索查询。具体角色的可能示例是“在对象的区域属性中出现搜索模式”或“搜索模式必须是对象的名称的第一个词”。因此,在本上下文中的术语“角色”要被理解为指示用户可能想着的输入搜索模式的可能属性。例如,如果用户输入搜索查询“BER HUS”,则可以将第一输入搜索模式(“BER”)解释为指示对象的区域属性(例如,城市柏林),并且,将第二输入搜索模式(“HUS”)解释为指示对象的名称(例如,对象“Husemarmstraiie”,在柏林的街道)。当然,其他解释是可能的。通过向其搜索模式分配角色的搜索查询的解释可以用于限制搜索空间。S卩,对于搜索查询的具体解释,可能不需要搜索例如由分割的地图数据限定的数据库的整个搜索空间,而仅需要搜索有限的搜索空间。对于上面的示例,如果“BER”被解释为区域属性,使用仅考虑区域属性的(有限的辅助)索引数据结构来仅搜索与该区域相关的对象的属性(即, 区域属性)。因此,在该方法的一个实施例中,第一输入搜索模式和/或第二输入搜索模式可以被启发地解释以具有预定义的角色,在此的角色用于指示相应的输入搜索模式的可能的潜在含义。因此,通过启发地解释第一输入搜索模式和/或第二输入搜索模式,可以对于每一个输入搜索模式计算角色相关的启发候选集,并且,通过相交角色相关的启发候选集,获得用于搜索查询的具体解释的组合的启发候选集。在该方法内,在用于搜索查询的一个或若干个不同解释的第一阶段中,在每一个情况下,计算和穷尽性地搜索组合的启发候选集,并且,在第二阶段中,计算和穷尽性地搜索未将搜索查询限制到具体解释的组合候选集。
因此,将搜索划分为不同的阶段。首先,考虑搜索查询的几种可能解释,每种解释产生搜索空间的很小部分,该搜索空间的很小部分可以被迅速地穷尽性地搜索,并且具有包含期望结果的良好机会。其次,该方法退回到一般解释,该一般解释产生较大的搜索空间,但是其保证包含期望的结果——如果该期望结果确实存在于数据库中。如果在穷尽性搜索期间达到资源极限,则搜索引擎放弃搜索处理,并且通知应用,因此,它可以激励用户提供更有表达力的输入。如上所述,解释向输入的搜索模式的每一个分配具体角色。因为存在产生输入搜索查询的不同解释的不同角色的许多可能组合,所以首先符号化地枚举不同的解释,而不计算相关联的角色相关的启发候选集和组合的启发候选集。然后,不进一步考虑如下的解释对于那些解释,通过在索引数据结构中的查找,角色相关的启发候选集的一个或更多个被检测为空。换句话说,在该方法的一个实施例中,在计算任何实际候选集之前,枚举和排序所有的非空解释,因此,可以预期产生较小的候选集(并且可能产生期望的结果)的解释在先。在本上下文中,如果给定的搜索查询在其分配的角色中的任何搜索模式产生空的角色相关的启发候选集,则对于该搜索查询,解释被称为空。这将自动地使得解释的组合启发候选集是空的,因此不必进一步考虑这样的解释。在这一点上,可以根据通过在索引数据结构中的查找而获得的一个或更多个角色相关的启发候选集的估计的基数来确定要对于输入的搜索模式考虑的不同解释的选择或不同解释的符号化的枚举。向搜索查询的输入搜索模式分配特定角色并且通过根据包含具有特定角色的搜索模式的搜索查询搜索数据库来改善搜索的效率的思想也分别是适用的。因此,用于通过索引数据结构来在数据库中搜索对象的方法,其中,该索引数据结构将数据库对象属性值与元素的集合相关联,例如与四叉树的瓦片、与八叉树的立方体、与二进制树的节点、与文档、与文件、或与用于识别特定文件或文档的数字或其他代码、或与数据结构(其中,该数据结构包含之前描述的信息以及在空间元素、文件或文档内的属性值的一个或更多个出现位置中的任何一个)相关联,所述方法包括在输入搜索查询内,启发地解释第一输入搜索模式和/或第二输入搜索模式,以具有预定义的角色,在此的角色指示关于对象属性值的相应输入搜索模式的可能潜在含义;通过启发地解释第一输入搜索模式和/或第二输入搜索模式,借助于索引数据结构来计算每一个输入搜索模式的元素的角色相关的启发候选集,该角色相关的启发候选集包含那些包括如下对象的元素的集合该对象的至少一个属性值与在其预定角色中的输入搜索模式匹配;相交第一输入搜索模式和第二输入搜索模式的角色相关的启发候选集,以获得用于搜索查询的具体解释的组合的启发候选集;并且在元素的组合的启发候选集中,识别与第一输入搜索模式和输入的第二搜索模式匹配的对象,从而获得结果对象集。在本方法的一个实施例中,在第一步骤中,对于搜索查询的几种不同的解释,在每一个情况下,计算和穷尽性地搜索组合的启发候选集,并且在第二步骤中,计算和穷尽性地搜索未将搜索查询限制到具体解释的组合的候选集。
关于该方法的背景和优点,参考上面的内容。通常,对于该方法的不同实施例,可以通过下述方式来减少用于计算具有低表达力的输入搜索模式的候选集的计算工作量使用辅助索引数据结构来提供用于特定的输入搜索模式的预先紧化的候选集,总是在使用主索引数据结构之前探查该辅助索引数据结构。即,对于特定的非常无表达力的搜索模式(诸如,单个字符或仅具有两个字符的搜索模式),首先,查找辅助索引数据结构,其中,那些无表达力的搜索模式与预定义的可能包含与输入的搜索模式对应的期望对象在内的空间元素的集合相关联。其背景是,如果用户故意地输入短的、无表达力的搜索模式,则很可能用户认为这个搜索模式实际上指向期望的对象,因为例如,在对象的名称或区域属性中精确地包含搜索模式(例如,如果存在被称为“P 街道”的街道,则用户如果输入“P”则可能在查找该街道)。如果它被预先存储在例如其空间元素包含具有与(无表达力的)输入搜索模式的属性精确地匹配的对象在内的辅助索引数据结构中,并且在(主)索引数据结构之前查找该辅助索引数据结构,则通过穷尽性地搜索所产生的空间元素的候选集,可以迅速地找到期望的结果,而不必穷尽性地搜索大量的空间元素。在该方法的另一个实施例中,在已经首先对于给定的输入搜索模式计算候选集和组合候选集(也包括例如如上所述的角色相关的启发候选集和组合的启发候选集)后,可以将它们存储在高速缓存数据库中。以这种方式,可以减少用于计算用于输入搜索模式的候选集的计算工作量,因为如果在搜索的不同步骤期间多次需要候选集,则不必重新计算候选集,而是从高速缓存获得候选集。在该方法的另一种改进中,索引数据结构具有不仅用于对象属性的精确值而且另外用于这些值的预定义的变化形式的输入项,这可以将特定的字符替换为其他字符,或者可以向原始值加上特定字符,或者可以从原始值省略特定字符,或者可以相对于一些字符在原始值中的位置交换它们的位置。这允许所谓的模糊搜索,以允许例如在输入搜索模式的一个或多个未(精确地)匹配诸如对象名称或区域属性的对象属性值的情况下,也找到期望的结果。以这种方式,如果例如在输入搜索模式中有拼写错误,也可以找到期望的结^ ο在另一个实施例中,可以通过下述方式来扩展用于第一和第二输入搜索模式的第一和/或第二候选集将在组合第一和第二候选集之前邻接在第一和第二候选集中已经存在的空间元素的空间元素包含到第一和第二候选集内。以这种方式,与所确定的候选集的空间元素相邻的空间元素也被包括到搜索内。在该方法的另一种相关改进中,通过下述方式来支持所谓的模糊搜索生成用户指定的搜索模式的一个或更多个修改,例如,通过将特定的字符替换为其他字符,或通过向原始搜索模式加上特定字符,或通过从原始值省略特定字符,或通过相对于一些字符在原始搜索模式中的位置交换它们的位置。在这种改进中,根据本方法的索引数据结构用于识别将进一步考虑的这样的搜索模式修改的子集,并获得用于所选择的修改的一个或更多个候选集或角色相关的候选集。这些集然后在根据本方法的其他步骤——诸如组合候选集的确定——中,单独地或在建立它们的并集后被使用。在该方法的另一种改进中,可以通过诸如语音输入装置的媒体或另一种子系统来输入第一和第二搜索模式,以产生大量搜索查询变化形式,其中每一个搜索查询变化形式由几个输入搜索模式构成,而不是由单个搜索查询构成,并且,其中,对于来自搜索查询变化形式的搜索模式计算的候选集的基数、或者对于搜索查询变化形式计算的组合候选集, 被用于引导用于进一步的处理的搜索查询变化形式的子集的选择,或者被用于引导向单独的搜索查询变化形式分配优先级以影响它们的进一步处理的顺序。因此,通过考虑可以与 (不确定的)输入(例如,使用语音输入)对应的不同搜索查询变化形式,可以例如通过首先处理搜索查询变化形式以产生最小基数的候选集,容易地并且以高效的方式找到期望的结果,特别是当考虑到那些变化形式导致的候选集的基数时。在该方法的另一种改进中,可以通过诸如手写识别装置的媒体或子系统来输入搜索模式,其中,特定的输入字符难以在输入期间可靠地区分,例如,字母“0”和《0”和数字 “0”,因此,存在如下风险在向本方法提供的输入搜索模式中出现符号的错误的变化形式。 在这种改进中,在产生索引数据结构之前,识别对于其而言可能出现这种模糊的符号,并且对该模糊作如下处理从不能可靠地区别的每一个符号集,选择被称为典型表示的唯一表示(例如,字母“0”)。在索引产生期间和在穷尽性搜索期间,将符号的其他变化形式(例如,字符《0”和数字“0”)的所有出现替换为典型表示。换句话说,它们被当作好象它们会出现在减小的键盘上,其中,数字“0”键也负载字符“0”和《0”。在该方法的另一种修改中,通过在索引数据结构中的(计算成本低的)查找而获得的一个或更多个候选集的估计的基数被用作一个输入搜索模式或多个输入搜索模式的表达力的度量。利用该基数,可以控制要在另外的处理步骤中包括的数据库分段或(内部或外部)数据库的选择或向这样的数据库或数据库分段的优先级的分配一影响它们的进一步处理的顺序。可以在永久存储介质中登记用于进一步的处理的、用户对于搜索结果的最后选择 (例如,用于在导航应用中的路由计算的目的地的选择)以用于未来的搜索处理。因此,提供了自学习系统,其中,可以向预先选择的搜索结果分配较大的优先级,并且可以在位于或接近以后的搜索的实际结果列表的顶部处显示预先选择的搜索结果。在另一个实施例中,作为空间元素的组合候选集的穷尽性搜索的结果,不仅登记其属性与输入搜索查询的所有输入搜索模式匹配的对象,而且登记对于其而言一个或更多个输入搜索查询不匹配对象属性的对象。因此,实现所谓的词层级模糊匹配,作为结果不仅产生其属性精确地匹配搜索查询的对象,而且产生可能与输入搜索模式中的一个或一些没有匹配的对象。在另一种修改中,可以不从实际上使用索引数据结构对其搜索的数据库,而是从包含实际上被搜索的数据库的对象的全部或大多数的较大、高级数据库,产生索引数据结构和相关联的空间元素的集合。在上面,已经以将对象属性值与四叉树的二维空间元素(瓦片)的集合相关联的索引数据结构为重点描述了根据本发明的方法,因为当处理在导航装置中的二维地图时有益地使用那些索引数据结构。然而,该方法不妨可以被应用来在例如用于在三维空间中的导航装置(例如,航空或航天应用)的三维空间中搜索对象。在该情况下,索引数据结构将对象属性值与八叉树的空间元素的集合相关联,在八叉树中,每一个空间元素对应于立方体,并且8个邻接的立方体能够组合为用于表示下一级空间元素的一个下一级立方体。如
16上所述的实施例和变化形式以类似的方式也应用到这样的索引数据结构。可能地,该方法也可以被应用到更高维度的空间或也被应用到一维空间。通常,该方法可以使用将对象属性值与kd树的空间元素的集合相关联的索引数据结构,其中,k可以是任何自然数(k= 1,2,3,4,5,···)。在一维的情况下,索引数据结构将对象属性值与被解释为其中k= 1的kd树的二进制树的元素相关联,即,每一个树节点表示来自一维线性空间的区间。两个邻接的区间能够组合为由下一级树节点表示的一个下一级区间。在该情况下,每一个区间应当被理解为分割一维空间的空间元素。通过如上所述被布置来运行方法的导航装置或通过被布置来执行所述方法的任何其他移动计算装置来进一步实现所述目的。


随后,将参考在附图中所示的实施例来进一步说明在本发明之下的思想。在此,图1示出借助于索引数据结构在数据库中搜索对象的方法的流程图;图2示出索引数据结构,该索引数据结构形成特里结构,并且将对象属性值与被定义来分割地图的瓦片的集合相关联;图3A-3C示出输出导航装置的、用于输入搜索模式的输入窗口和用于结果对象的列表的输出窗口的示意图;图4A-4C示出用于输入搜索模式的输入窗口、用于输出结果对象的列表的输出窗口和用于输入搜索模式的导航装置的键盘的示意图;图5A-5G示出用于输入搜索模式的第一和第二输入窗口、用于输出结果对象的列表的输出窗口和被显示并被根据输入搜索模式连续调整的地理地图分段的示意图;图6示出以多个地图瓦片分割的地图的示意表示;图7示出使用启发搜索手段的改进方法的流程图;图8示出在多个数据库上的搜索方法的流程图;以及图9示出在其中用户通过语音输入子系统来输入查询的环境中应用在此描述的方法的示意图示。
具体实施例方式图1以流程图给出了用于在数据库中找到和定位对象的方法的实施例的概述。在该实施例中,该方法被应用到导航装置,对象表示二维地图的地理对象,并且在数据库中存储的数据是数字地存储的地理地图数据。该导航装置可以例如是专用移动导航装置或其上实施导航软件应用的移动电话、 移动计算机、个人数字助理(PDA)、移动因特网装置(MID)、便携媒体播放机(PMP)或其他移动计算装置。在该方法中,使用索引数据结构来找到和定位对象,该索引数据结构被实现为所谓的特里结构(trie)。在图2中示出表示特里结构200的这样的索引数据结构的示意图。 特里结构200将地理对象的名称与其中名称作为对象的属性出现的地图瓦片的集合相关联。在此,地图瓦片表示空间元素,并且源自通过使用四叉树的、导航装置的地图的分层分割(四叉树分割)。四叉树分割使得四个邻接的瓦片能够组合为下一级瓦片,即,四个邻接的瓦片可以等同地被一个下一级瓦片替换,而不丢失任何信息。在此,下一级瓦片的区域覆盖与原始的四个邻接的瓦片等同的区域。在图6中示出这一点。以多个地图瓦片51来分层地分割地图5,每一个地图瓦片表示地图5的空间元素。四个邻接的地图瓦片51能够组合为下一级瓦片52,该下一级瓦片 52等同地替换四个对应的地图瓦片51,而不丢失任何信息。为了在地图数据中搜索对象,向导航装置的输入窗口 1(图1)内输入搜索查询,该搜索查询由以文本串形式的一个或多个搜索模式构成。在图1中描述的情况下,“KAP”和 “WAR”被作为搜索模式输入。在数据库中的搜索现在通过下述方式而出现分别使用每一个搜索模式“KAP”和“WAR”来查询索引数据结构(特里结构200)(步骤101)。从这些查询的每一个,产生瓦片102a、102b的一个候选集,其中,每一个候选集102a、102b包含其中至少一个对象的属性与相应的搜索串“KAP”或“WAR”匹配的所有那些瓦片。如果对象的属性 (即,其名称或其区域属性)完全或以其前缀(即,其开始字符)与相应的搜索模式匹配,则在此出现匹配。为了能够在诸如移动导航装置的具有有限硬件资源的装置上实现和运行所述搜索方法,必须以存储器节省的方式和以允许应用在计算上节省的集合操作的方式来表示大的瓦片集。为此,使用四叉树的具体结构,其中,四个邻接的瓦片可以组合为一个下一级瓦片,因此减少了瓦片的数量,而不丢失任何信息。因此,如果在所获得的候选集10h、102b中的瓦片的数量超过预定义的数量,则在步骤102,通过下述方式来“紧化”候选集l(^a、102b 将在候选集l(^a、102b中包含的瓦片(在图6中的地图瓦片51)的一些或全部组合为相关联的下一级瓦片(在图6中的下一级瓦片52),因此减少了在候选集10h、102b中的瓦片的数量(步骤102也被称为“紧化”)。通过在每个情况下将四个或更少的瓦片组合为一个下一级瓦片来实现在此的组合。 如果正好四个邻接的瓦片组合为一个下一级瓦片,则由下一级瓦片覆盖的区域等同于原始的瓦片。如果少于四个瓦片被组合,则由下一级瓦片覆盖的区域形成完全包含原始瓦片的区域的超集。以这种方式,组合(紧化)在下述方面是安全的由所获得的下一级瓦片表示的区域至多大于原始瓦片的组合区域,使得与候选集102a、102b相关联的瓦片的数量至多变得更大,即,在后面的搜索步骤(步骤105)处,必须对于其中包含的对象穷尽性地搜索更多的瓦片。然而,紧化不丢失任何信息,即,未遗漏任何真实候选者。在步骤102中的紧化导致在候选集10h、102b中的瓦片的数量的减少,因此减少了用于存储候选集10h、102b的存储要求。在候选集10h、102b中的瓦片的数量可以以这种方式总是限于比预定义的阈值(例如500)小的数量。从如此获得的候选集10加、102b,在步骤103中,形成交集,产生组合候选集104a, 该组合候选集10 仅包含在第一候选集10 和第二候选集102b两者中都包含的那些瓦片,并且因此包含其属性与第一搜索模式“KAP”和第二搜索模式“WAR”两者都匹配的对象。 再一次,如果在组合候选集10 中的瓦片的数量超过预定义的阈值(其可以与用于步骤 102的阈值不同),则在组合候选集10 中的瓦片可以被紧化(步骤104)。为了识别其属性值与搜索查询匹配的所有对象,穷尽性地搜索在瓦片的组合候选集10 中包含的瓦片(步骤105),即,逐个地查看瓦片,并且提取其属性值与搜索查询匹配的所有对象。然后经由输出窗口 2来输出这样的结果对象。例如,在输出窗口 2中显示的第一对象是街道地址,即在“WARstein”中的“KAPellenweg”。可以以这种方式找到的其他对象是兴趣点,诸如飞机场或旅游景点等。在本上下文中引用的对象全部是在导航装置中包含的数字地图数据中具有可识别的位置并且因此可以在地图中被定位的所有对象。该方法允许容易地减少要在导航装置内存储和处理的候选集。具体地说,该方法允许快速和高效的多前缀搜索,即,使用多个搜索模式并且将搜索模式与对象属性的前缀作比较的搜索,该多个搜索模式特别是文本串。为了找到与搜索模式相关联的候选集,必须形成搜索模式的所有可能后续部分的单位集合。相关联的候选集的特里结构和具体永久表示实质上将这个处理缩小为依序读入被递增地加入到在主存储器中的工作集的元素。在图2中图示这一点。其中描述的特里结构200包含根201、边202和节点203。 每个边202与非空串相关联,并且指向节点203,节点203被标注从根201向节点203的路径的边标签的级联。例如,在根201之下和左面的第一节点被标注“F”,在那个节点之下和左面的节点被标注“FELDKIRCH”等。如图2中所示,在特里结构200内,瓦片与它们的瓦片编号一起被存储在文件204 中,特里结构200的节点203与这样的存储瓦片的集合205、206相关联。例如,集合205与被标注“KAMEN”、"KAMENER",“KAMENZ“的节点相关联。集合206与节点"KARLSRUHE”相关联。在特里结构200的形状中的索引数据结构的构造一方面允许当用户通过增加搜索模式或通过经由向现有的搜索模式增加字符而修改搜索模式来改变搜索查询时,高效地计算新的候选集10加、102b、10 和对应的结果对象的列表。在该情况下所需的全部是单个相交操作(在图1中的步骤103),用于形成先前获得的组合候选集10 与新获得的候选集的交集。在所有情况下所获得的组合候选集10 的基数减小,或至少不增大。另一方面,特里结构200的结构允许以快速和高效的方式来在其表达力上估计输入(或改变)的搜索查询的质量。在本上下文中,表达力确定搜索查询的限制搜索区域的能力。如果与搜索查询相关联的候选集具有小(但是正)的基数,则该搜索查询具有大的表达力。在此,特里结构200的具体永久结构使得有可能以良好的精度来估计基数,而不形成集的和,因此允许也在具有有限硬件资源的移动装置上使用该处理。以这种方式,可以在输入搜索查询的同时向用户提供关于该搜索查询的表达力的即时反馈。图3A至3C示出了在向导航装置的输入窗口 1内输入搜索模式期间的处理。在第一阶段,在向输入窗口 1内输入“eif”后,所输入的搜索查询的表达力较低, 意味着存在与搜索查询相关联的许多瓦片和可能的结果对象,并且不能使用合理的计算工作量来执行穷尽性搜索。因此,输出窗口 2是空的,并且,输入窗口的背景颜色是白色(或灰色)。当用户输入另一个字母并且将他的搜索查询改变为“eiff”时,搜索查询变得更具有表达力,即,与其相关联的瓦片的数量减少。如果估计的基数变得小于用于指示已经获得可以使用合理(但是大)的计算工作量穷尽性地搜索的候选集的第一预定义阈值,则输入窗口的颜色改变为黄色。如果估计的基数变为小于用于指示可以快速和高效地执行穷尽性搜索的第二、甚至更小的预定义阈值,则颜色进一步改变为绿色(如在图3B中点阴影10所示),并且对于其中包含的所有结果对象穷尽性地搜索所获得的候选集。然后,在输出窗口 2中输出所找到的结果对象,如图:3B中所示。如果搜索查询的输入未产生包含其属性与搜索查询匹配的对象的任何瓦片,则候选集的基数变为0。在大多数情况下,这源自键入错误,并且可以通过可视、可听或触觉警告向用户指示这一点。例如,当如图3C中所示输入 “eifff”时,获得具有零基数的空候选集,并且通过输入窗口的红色着色来即时地指示该空候选集(如在图3C中的线阴影11所示),这可能伴随以装置的振动形式的触觉警告。因为候选集是空的,所以不在输出窗口 2中显示结果对象。当在输出窗口 2中显示结果对象时,根据对象与用户的可能相关度来选择对象的顺序。为此,可以使用启发规则,该启发规则使用从由用户输入的搜索查询或从与地理对象相关联地存储的一般相关度信息获得的使用信息(例如,可以认为大城市比小城市更相关,等等)。如图4A至4C中所示,也可以通过例如移动电话的数字键盘3来进行(由一个或多个搜索模式构成的)搜索查询的输入,在移动电话上,实现了导航应用,并且该移动电话因此作为导航装置。如所公知,键盘具有12个按键“0”至“9”、“*”、“#”。按键“*”用于在输入窗口 1中插入空格,按键“#”用于在输入窗口 1的右端处删除数字或空格(即,最近输入的那个)。另外,向该按键的一些分配字母字符。例如,也使用“ABC”标记按键“2”(附图标记31),18(”用于指示另外向这个按键分配字母1”、1”、“(”。当输入搜索查询时,不必多次按下按键。例如,对于字母“C”,仅需要按下一次按键 “2”。因此,用户可以以快速和容易的方式来输入搜索查询,就像使用全键盘那样,并且不必使用复杂的键击序列。在图4A至4C的示例中,用户通过相继地按下键盘3的相应按键来输入数字“ 5483776 ”。利用每一个另外的数字的输入,搜索查询变得更有表达力,并且在输出窗口 2中显示的结果对象的输出列表变得更短(在图4C中,它仅包含三个对象)。如图4A至4C中所示,显示器(可以是移动电话的矩形显示器)可以包含另外的窗口 1’,该另外的窗口 1’将输入的搜索查询从数字转换为可能的字母或字母数字文本串 (例如,数字“548377”可能对应于“LIVER7”,在此的“7”指示后续部分仍然是模糊的)。当用户键入更多数字时,并且当候选集的大小和匹配结果对象(在输出窗口 2中示出)的数量减少时,在输入窗口 1中输入的越来越多的数字开始对应于在所有的匹配的搜索结果中的一个并且是同一个字母。在输入窗口 1下的窗口 1’中独立地示出这种对应,但是这种对应也可以——为了获得更好的可读性——在输入窗口1中直接地可视化。在另一个实施例中,如图5A至5G中所示,可以显示地理区域,用于可视化与输入的搜索查询对应的区域。在图5A至5G的示例中,存在和显示两个输入窗口 la、lb,一个输入窗口 Ia允许用户输入用于区域的搜索模式,并且另一个输入窗口 Ib用于输入用于对象的搜索模式。在区域输入窗口中输入搜索模式时(图5B至5D),所获得的候选集采用越来越小的基数,并且包含越来越少的瓦片。因此,从穷尽性搜索瓦片获得的结果对象的数量变得更小,直到在图5D中仅在输出窗口 2中显示用于区域输入搜索模式的四个匹配。当现在在对象输入窗口 Ib中输入搜索模式时(图5E至5G),在输出窗口 2中显示与两个输入搜索模式都匹配的所找到的结果对象,随着在相应的输入窗口 la、lb中输入更多的字母,搜索查询变得越来越具有表达力。当向输入窗口 la、lb内输入搜索模式时,在输入窗口 la、lb旁边显示用于示出与所获得的候选集的瓦片对应的地理区域的地图分段4。可以例如通过下述方式来获得地理区域获取最北、最南、最东和最西瓦片,并且跨越在它们之间的矩形地理区域。当搜索查询变得越来越具有表达力时,对应的地理区域变得更受限,使得所显示的地图分段4的比例变得越来越大,引起向感兴趣区域内迫近的变焦状印象。图5A至5G的序列图示下述情况其中,用户逐个地输入搜索查询“HAMBURG REEPERBAHN”的字符。并行地,地图分段4的比例从示出整个欧洲的地图分段4开始逐步地变焦,并且到达名称为“Re印erbahn”的街道所位于的城市Hamburg的一部分的特写。为了改善显示地图分段4的速度,可以省略地图的不太重要的细节(诸如森林区域)。有益地,在执行在瓦片的候选集内的穷尽性搜索之前,在所有情况下更新地图分段4的显示,因为穷尽性搜索在计算上可能是昂贵的。在图7中示出构成如上所述的一般方法的改进的、用于在数据库中搜索对象的方法的另一个实施例的流程图。这种改进利用多阶段启发式搜索手段,以便在计算速度和用户友好性上进一步改善该方法的效率,下面将详细描述这种改进。这种改进——以及如上所述的实施例——的目的是支持来自大瓦片结构的地图数据库的小对象集或特定对象的定向检索。在此,用户输入具有非结构化的多前缀搜索查询的形式,并且交互应当是渐进式的和响应的。在具有有限资源并且没有任何网络连接的环境中必须专门提供这种功能。在此的术语“定向检索”指的是下述情况当开始与搜索引擎的交互时,用户心中有来自地图数据库的特定对象(诸如城市、街道或兴趣点)或小的对象集。这个对象也可以被称为“用户的目标对象”。如上所述,该方法使用数据库,其中,将空间分割为空间元素,例如,将地图分割为四叉树的瓦片(参见图6)。因为如果数据库大(对于地图数据库总是这情况)则可能在有限资源环境中穷尽性地搜索整个数据库是不实用的,所以该改进的方法使用资源限制的启发搜索手段,该搜索手段的搜索策略——粗略地——可以被描述如下。在第一阶段(在图7中称为阶段1)中,使用特殊的启发手段来减小其中要执行 (穷尽性)搜索的搜索空间。在这种启发手段中,将特定的启发候选集选择为搜索空间的子集,该子集具有包含用户的期望结果的高概率。以大小增大的顺序(最小候选区域在先) 来穷尽性地搜索这些(较小的)启发候选集。然后,在最后阶段(在第一和最后阶段之间存在更多的阶段,如下详细所述),考虑整个空间,并且以它必须明确地包含期望结果的方式,即,不使用任何角色相关的限制来确定一般的候选集。也穷尽性地搜索也被称为全捕获候选集的这个候选集(省略由于瓦片在角色相关的启发候选集之一中的成员身份导致已经穷尽性地搜索的瓦片)。为了满足资源和响应时间限制,如果在穷尽性搜索阶段期间遇到资源限制,则放弃搜索处理,并且向应用通知那种情况。然后,它可以例如鼓励用户扩展查询以使得它更有表达力(例如,使用如上参考图3所述的着色方案),因此,很有希望在下一个交互周期中找到期望的结果——如果在这个回合中未已经找到期望的结果。整个资源极限(被表达为要在穷尽性搜索中考虑的地图特征的最大数量)被分割为向搜索处理的各个阶段分配的独立配额,以便向它们的每一个提供公平的机会(这种分割基于专用启发)。
现在参考图7来详细描述该改进的方法。如图7中所示,用户可以向运行该方法的装置的输入窗口(字段)内输入搜索查询,该搜索查询包括N个搜索词(搜索模式)(步骤301)。然后,在步骤302中,在输入的完成期间已经或在其之后,这个输入的搜索查询的不同解释变化形式被生成和排序以用于进一步的搜索处理。这些解释变化形式(也简称为“解释”)用于计算所谓的角色相关的启发候选集,以提供减小的搜索空间。用于角色相关的启发候选集的计算的起点是下面的观察当用户输入特定的搜索查询以意欲定向检索特定的目标对象时,这意味着,以他的或她的意见,在原理上应当可能仅基于这个搜索查询来唯一地识别目标对象,并且,这经常是(虽然不总是)实际的情况。现在,即使用户通常不明确地详细考虑这一点,但是他或她当被咨询时通常能够解释如何可以以清楚地识别目标对象的方式来理解这个搜索查询。因此,该方法系统“仅” 需要能够“猜测”这种解释。因此已经调查了 如果仅使用正确的解释,则与地图搜索相关的多前缀文本查询的哪些方面使得有可能识别目标对象(即使使用很短的查询);以及如何可以表征这样的 “正确的解释”。为此,搜索查询的单独的输入搜索模式可以被看作采取特定的角色。这些角色在如何“表示”或“应当解释”搜索查询的描述上是相关的。该角色此外可以通过产生用于搜索模式的角色相关的启发候选集来允许搜索空间的显著减小。这种角色相关的启发候选集可能比相同的搜索模式的候选集小得多,而没有角色限制。这种减小在组合候选集的层级上甚至更有效,该组合候选集被计算为单独搜索模式的角色相关启发候选集的交集如果操作数的每一个(或至少大多数)小得多地受益于角色限制,则减小效果在交集中加倍。这种集大小的减小可能使得与没有角色限制的使用候选集的未限制情况相比,组合启发候选集更可能是空的。通过下述方式来获得各种搜索查询解释变化形式在搜索查询中假设每个搜索模式的角色,诸如“在区域名称中出现搜索模式”或“搜索模式是对象名称的第一个词”。显然, 在搜索查询中包括越多的搜索模式,则存在这样的假设的更多可能组合。例如,可以在第一解释中将输入的搜索查询“BER HUS”解释为包括两个输入搜索模式“BER”和“HUS”,其第一个指示区域,并且第二个指示对象的名称。另一种有意义的解释可以是正好以那个顺序在对象的名称中出现输入的搜索模式。存在并且可以考虑多种其他的解释。在主要搜索处理开始之前,在步骤302中,组合地,以使得最具体的解释(对于其而言,角色相关的启发候选集的大多数将很小)首先出现的方式来枚举和排序所有有意义的、非空的搜索查询解释。这些解释随后用于引导所使用的启发搜索处理,因为通常不可能穷尽性地搜索整个数据库。每一个解释产生被定义为可以有效地计算的角色相关的启发候选集的交集的启发候选集,这样,如果这种解释变化形式正确地反映用户的意愿,则提供向必然包含目标对象的搜索空间的小部分的访问。这个小部分随后进行穷尽性搜索,以便实际上识别出匹配的数据库对象。下面的搜索模式角色可以例如用于在步骤302中生成搜索查询解释A.属性类别。数据库属性经常被表征为属于特定类别——例如,在地图数据库中,对象具有一个名称属性和几个区域相关属性(存储对象所位于的城市名称、区域名称和国家名称)。因此,可以通过将每一个搜索模式看作指示特定的属性类别来实现搜索空间减小。然后,通过向用户提供的搜索模式的每一个分配类别来(特别地)表征解释,例如,“第一词被解释为指示名称属性,并且第二词被解释为指示区域属性”。在以那种方式组合地可能的类别分配的大量组合中,该方法可以选择在实际查询中很可能出现的用于进一步处理的组合的子集。最后,考虑解释其中不将搜索模式限制为指示特定类别的变化形式。B.具有/没有词排序限制的匹配。考虑下面两种解释变化形式在第一种、更具体的解释中,第一搜索模式必须匹配要匹配的对象的名称的第一词,并且剩余的搜索模式必须匹配在对象名称内的其他词(其不在第一位置)。换句话说,搜索查询的第一搜索模式被认为在“第一词角色”中,其他查询词被认为在“非第一词角色”中。在第二种、更一般的解释中,每一个搜索词可以匹配对象名称的任何词,而与它们的位置无关。C.具有/没有词数限制的匹配。考虑下面两种解释变化方式在第一种、更具体的解释中,对象名称必须具有从搜索查询得出的词的数量。换句话说,搜索模式的每一个被分配“k词角色”,其中,k是从搜索查询得出的数量。在第二种、更一般的解释中,搜索模式的数量不被理解为暗示在要找到的对象名称中的词的具体数量。D.精确的/前缀匹配。每一个搜索模式可以被解释为前缀(搜索模式匹配以特定的搜索模式开始的对象属性)或被解释为精确的模板(仅匹配在对象属性中的精确相同的搜索模式)。因为可以独立地(并且独立于其他角色)向所有的搜索模式分配这个角色,并且因为应当避免解释的组合激增,该方法可以选择仅考虑这些变化形式的所选择的子集。在实际产生并且随后穷尽性地扫描对应的角色相关的启发候选集之前,可以首先以抽象的、符号描述符的形式枚举解释变化形式。要从不同的查询解释产生的启发集的大小在下述程度上强烈相关在解释中使用更一般或更具体的角色。为了在较大的候选集之前计算和扫描较小的候选集,考虑到所分配的角色来评估描述符。然后以对应的启发候选集的(预期)大小的升序来重新排序描述符。在图7中的步骤302的完成后,所输入的搜索查询的不同解释变化形式被得到,并且在下面的步骤中被进一步处理,以计算用于特定解释的启发候选集。在步骤303,首先,获取根据上述的排序预期为最具体的解释。在步骤304中,对于这个解释,通过在(主)索引数据结构或辅助索引数据结构中的查找(例如,仅参考对象的区域属性),然后对于每一个搜索模式(在所考虑的解释内向其分配特定的角色),确定角色相关的启发候选集,并且,通过相交不同的搜索模式的角色相关的启发候选集,获得组合的启发候选集(步骤30 。对于最具体的解释,这个启发候选集可能较小(如果不是全部的最小者,因为预期该解释是最具体的),使得可以穷尽性地搜索这个启发候选集的瓦片 (步骤306),至少直到达到资源极限。然后,在适当的显示窗口中分级和显示结果(步骤 307、308)。对于要考虑的所有解释重复这一点,并且在最后阶段中(在图7的右面),采用所谓的全捕获解释,其中,不通过假定特定的搜索模式具有特定角色来限制搜索查询(步骤309)。即,在最后阶段中,考虑整个搜索空间,通过在整个(主)索引数据结构(特里结构,参见图幻中的查找来对于每一个输入搜索模式获得(未限制的)候选集,并且通过相交候选集来得出组合候选集(步骤310,311)。也穷尽性地搜索这种组合候选集,直到达到资源极限(步骤312),结果被分级并与先前获得的结果合并(步骤307),并且被显示(步骤 308)。随后将更详细地描述这样的步骤的一些。启发候选集计算(步骤304,305)在本方法中,以(有时紧化的)瓦片集的形式来表示所有的候选区域。数据结构的设计在采用适度和恒定数量的存储量的情况下允许非常高效的成员测试、包括、合并和相交操作。引用永久的预先计算的角色相关的启发候选集的永久索引用于从搜索查询的不同解释计算上述系列的候选集。在这一点上,可以不同地处理输入搜索模式的不同“角色”,以确定对应的启发候选集。例如,为了当向搜索模式分配“区域类别角色”时计算角色相关的候选集,可以使用辅助索引数据结构,该辅助索引数据结构例如将搜索词与其中出现具有与搜索词匹配的区域属性的对象的瓦片集相关联。这种辅助索引数据结构也被称为“区域索引”,并且在实际搜索方法的执行之前被预先计算,就像其他索引数据结构那样。区域索引可以在形状和结构上类似于在图2中所示者,但是仅将对象的区域属性与对应的瓦片的集合相关联(通常,通过诸如其名称和其区域的几个属性来描述对象)。因为区域索引仅将区域属性与瓦片的集合(集)相关联,所以区域索引以及结果产生的候选集在大小上小于(主)索引数据结构以及从逐步通过(主)索引数据结构产生的候选集。如果输入搜索模式被解释为指示区域名称(区域是对象的属性),则使用并且逐步通过区域索引,以便读出对应的角色相关的启发候选集。例如,如果输入的搜索模式 “BER”被解释为指示区域属性,则通过区域索引,确定瓦片的哪个组合对应于这个特定的搜索模式,因此确定期望的角色相关的启发候选集。因为区域属性仅是一个对象属性,所以与已经通过使用(主)索引数据结构将输入的搜索模式与任何对象属性匹配而获得的候选集作比较,所获得的角色相关的候选集较小。取代使用辅助索引数据结构,或在使用这样的辅助索引数据结构之外,也可能扩展(主)索引数据结构以确定角色相关的启发候选集。为了这个扩展的目的,可以向树形的索引数据结构加上专用的另外分支。以这种方式,例如,可以在(主)索引数据结构中另外预存瓦片的哪个集合对应于具有作为第一词的所考虑的输入搜索模式的对象名称。例如,如果输入搜索模式“BER”被解释为是在对象名称中的第一词(“第一词角色”),则包括具有作为在它们的名称中的第一词的“BER”的对象的这样的瓦片与这个输入搜索模式相关联。对于低表达力搜索模式,候选集(特别是在角色未限制的情况下)较大,并且因为下面两个原因而需要长时间来计算必须从永久瓦片集读取大量的瓦片编号,并且在它们的随后的存储器内的聚类为适当的瓦片集数据结构期间,必须频繁地执行紧化。然而,仅在索引中存在相当小数量的前缀(在西欧地图数据库示例中的几千),它们如此无表达力以至于这个问题产生。因此,可以使用独立的、专用永久“大”索引和集组合,其提供了用于这些问题情况的预先紧化的、能够高效地加载的集。集查找首先试图在大索引中找到输入项,只有其失败时,使用通常的索引和相关联的永久瓦片集。每一个角色相关的启发候选集的实际计算基于它对应的解释变化形式的符号的表示。根据该变化形式,访问不同的(主和辅助)索引以从永久集表示检索具体的部件集。 然后将永久集表示加载到存储器内并且组合(相交)以获得实际的启发候选集。在实际的搜索会话中,多次需要组合候选集的计算所需的候选集的大份额。因此, 用于所计算的候选集的高速缓存机构保证大多数时间节省了用于重新计算这些集的工作量。穷尽性搜索和串匹配(步骤306)一旦已经计算了候选集(并且该候选集是非空的),则穷尽性地搜索它(即,在用于具体解释的步骤306中和用于未限制的情况的步骤312中)。串匹配可能出现在正常的“精确模式”中,其中,每一个搜索模式必须逐个字符地匹配一些数据库对象属性;或,“近似模式”中,其中,即使存在在搜索模式和单元属性之间的特定的“允许偏差”,也登记匹配。 用于这样的允许的偏差的一些示例是(没有一般性的限制)-使用在搜索模式中的可区别字符的“基本字符”(例如,‘O’),即使对象属性包含原始可区别字符(例如,'6'),-使用在搜索模式中的特殊字符的直译(例如,‘ss’),即使数据库属性包含原始特殊字符(例如,“β”),-使用原始搜索模式的误键入的、但是可识别的变化形式(例如,EIFELTOWER), 而不是实际数据库属性(EIFFEL TOWER)。一旦达到面向资源的极限或已经找到足够的匹配,S卩,达到匹配数量的应用相关极限,则整个穷尽性搜索处理停止。为了在候选集(或角色相关的启发候选集)的计算期间已经支持这样的不精确的匹配,该方法可以使用“丰富的”预先计算的索引数据结构,该索引数据结构不仅包含在数据库对象的属性中出现的原始词,而且包含如上所述的这些词的变化形式。该方法也可以使用技术来通过下述方式当被提供误拼但可识别的搜索模式时从索引数据结构检索在数据库对象属性中出现的原始词首先识别在索引中不存在的一个或多个类似词,然后检索正确的相关联的瓦片集合。该方法也可以使用这两种手段的组合。结果分级(步骤307)用户不仅要在结果列表中看到目标对象,而且期望在接近结果列表的顶部处看到它。为了实现这一点,使用多种指示符(有时在文献中称为信号)来评估每一个结果的相关度。每个指示符是数值,该数值用于表达是否或在什么程度上评估结果数据库对象的一些属性可能使得这个对象与用户相关。这些属性和它们的相关联的指示符可以被划分为类别如下语义数据库固有属性特定的数据库对象比其他数据库对象具有与平均用户相关的更高概率。这个类别的指示符仅使用关于数据库内容的语义知识来评估数据库对象本身。例如,较大的城市或街道可能比较小的城市或街道被分级为更重要。查询匹配属性这个类别的指示符在词汇和句法层级上工作,而不使用语义知识。 作为代替,它们对查询如何与数据库对象匹配的细节进行评估。例如,可以比不精确的匹配更重要地分级精确的匹配。最终的分级是所有指示符的加权组合。该方法可以在向用户提供结果列表之前直接地使用由这个分级暗示的排序或应用另外的重新排序技术(例如,根据特定的共同特性来对结果聚类)。随后,描述可以在该方法的进一步的改进中使用一些另外的思想。另外的思想在多个数据库上搜索经常地,不是用户要搜索的所有数据都可以被容纳在同一个数据库中。在该情况下,通过下述方式来扩展搜索处理使用几个独立的搜索处理但是使用同一分级方案将结果整合在单个结果存储区中。单独的搜索处理可以或者是前述种类的或者可以是完全不同的外部搜索处理,其结果被适配,因此它们可以被公共分级阶段处理。在图8中可视化了这一点。在此,图形描述不意味着暗示由垂直框指示的单独搜索处理的具体排序。在图8的示例中,输入包括N个输入搜索模式的搜索查询(步骤401)。在步骤402 至405中,基于所输入的搜索查询,在不同的数据库中执行搜索。步骤402可以例如对应于使用如上所述类型的搜索方法在数据库中的搜索。步骤403可以对应于在不同数据库中但是使用类似的搜索方法的搜索。步骤404和405可以对应于使用完全不同的搜索方法在再一次不同的数据库的搜索。在步骤406和407中,外部搜索处理的结果被适配得与步骤402和403的结果可兼容(例如,在它们的格式上),使得可以在步骤408中分级、登记和合并并且在步骤409中
一起显示结果。可以或并行地或依序地执行搜索处理(步骤402至40 ,其顺序可以适应于应用。源数据库的查询表达力引导的选择早期在用户输入期间,(部分的、不完整的)搜索查询由于其低表达力不足以用于在大的数据库中的任何有意义的搜索空间减小。有可能枚举在该情况下的实际的匹配,但是它们对于用户看起来相当混乱并且无用。当查询的表达力是相对于它被应用到的数据库的大小时,可以在该情况下通过仅考虑数据库的较小的选择部分(数据库的分段),或在多数据库搜索的情况下通过仅考虑可获得的源数据库的子集来减轻这一点。除了一些默认的数据库源(或分段)之外,如果查询的表达力(相对于这个数据库或相对于被选择为近似代表的一些源数据库来考虑)超过特定阈值,则每一个可获得的源数据库(或数据库分段)仅被包括在搜索处理中。在导航应用中,如果查询的表达力小于特定阈值,则搜索处理可以例如在下面的来源上运行-地图数据库分段,其中,仅考虑重要的城市和飞机场,-用户的喜好目的地列表,-特定地图对象的缩写的补充数据库(例如,利用官方在车辆车牌上使用的代码缩写的城市)。在此,不是使用搜索查询串的长度本身,而是使用搜索串的表达力来确定在搜索处理中的数据库源或分段的包含物。表达力不严格地与查询长度相关在数据库中不常出现的诸如XYZ的短查询仍然是高度有表达力的,而诸如BAHNHOFSTRASSE的很长查询具有较低的表达力,因为这个名称的街道存在于成千上万的城市。在此所述的方法使得能够有效地获得给定的搜索词的表达力的估计——它与其(一般)候选集的大小反相关。频繁选择的喜好结果的自学习快速搜索可能存在与导航应用中例如到用户频繁访问的目的地的对应的、用户较常搜索的数据库对象。为了缩短用于检索这样的对象的交互,使用下面的方法每次用户从结果列表选择对象并且将其传送到在所述应用中的进一步的处理 (例如,在导航应用中的目的地的选择和路由计算的开始)时,在永久存储的喜好结果列表中登记所选择的对象。该列表按每一个用户存储——如果周围的系统或应用支持多个用户,则将存在多个永久列表。该列表可以或者存储对于数据库对象的引用或者存储唯一地表征目标对象的结果属性(如在搜索结果列表中一般使用的那样)。然后将喜好列表作为外部数据库整合到一般的搜索处理中,并且从由如上所述的表达力引导的数据库源选择处理的查询输入的较早阶段中包括。词级模糊匹配和关联搜索如上所述的搜索空间减小技术在瓦片集的层级上工作。这意味着对于在查询中的每一个搜索模式保证候选集包含与这个模式匹配的某个对象(并且,在对于产生这个候选集的解释所指定的角色中如此进行),但是不保证存在同时匹配所有的输入搜索模式的单个对象。在穷尽性搜索和串匹配阶段中识别实际匹配,并且很经常地,在这个阶段期间遇到的对象仅匹配输入搜索模式的一些。取代丢弃这些不完整的匹配,它们可以被处理如下-如果满足一些另外的要求(例如,必须存在在对象的名称属性上的至少一个匹配),则将特定数量的非匹配词当作可接受的。-在结果列表中为不完整的匹配标记其不完整的程度(即,不产生匹配的搜索词的数量),-以不完整匹配不“旁推”任何找到的完整匹配的方式来在结果分级中考虑这个程度,并且/或者-当提供结果列表时特殊地标记不完整的匹配,因此,用户立即识别它们并且知道它们不完整。这种技术提供了基本的关联搜索功能如下如果用户输入其组合例如不完全匹配任何单独的数据库对象、但是引用位于同一地图瓦片内的两个对象的两个搜索模式,并且如果这种组合仅出现在一个地图瓦片或小的地图瓦片集中,则在搜索空间减小阶段期间计算的候选集之一将包含这个瓦片,并且,词级模糊匹配将识别被引用的对象两者,并且将它们登记为词级模糊结果。通过这样,例如查询“NEUE 0STKR”检索街道“NEUE BAHNHOFSTRASSE”变得有可能。 这个对象不匹配输入搜索模式“0STKR”,但是与德国柏林的火车站0STKREUZ位于同一瓦片 (并且因此与其接近)。在另一种改进中,该方法通过包括相邻的瓦片来在计算组合候选集之前修改单独的候选集。这使得关联搜索能够找到不位于同一瓦片内、但在两个相邻瓦片内的对象的组
I=I O替代的输入方法
与搜索特征一起使用诸如语音输入或手写识别的输入方法可以在不同的应用环境中是吸引人的。这样的输入方法和相关联的软件通常产生用户说话的文本表示,其可以在此处描述的类型的文本搜索方法中使用。使用此处描述的方法,集计算的使用打开了与这样的输入方法整合的另外的道路。因为这些方法通常基于概率方法,所以它们经常不仅提供单个输出文本,而且提供分级的变化形式列表。如例如在图9中所示,用户可以通过语音输入来输入两个词,系统将该两个词解释为作为最高分级的结果的“Κδ η”(槽1)和“Bremerhaven”(槽2)。在此为每一个词分配所谓的槽。在该情况下,不可能毫无疑义地识别用户的语音输入,因此,第二分级结果是 MMolln"(槽1)和“RSmerhaven,’(槽2)。语音输入系统已经确定的概率被指示为用于在槽1中的结果的0. 7对0. 3和用于在槽2中的结果的0. 6对0. 4。当不保证在每一个槽中的最佳分级的结果表示实际用户说话时,来自不同槽的结果的任何组合可以表示实际说出的搜索查询。在此处描述的方法中使用的候选集计算可以容易地排除可能组合的许多,如图9中所示相交用于一对槽的(明确的)候选集可以产生空集(由点箭头指示), 因此在数据库中不存在与搜索模式的这个组合的任何匹配。这意味着,通过仅计算和相交候选集,已经消除了可能槽组合的一半。两个非空组合候选集包含不同质量的两个匹配“ KOLNROMERHAFEN"是精确的匹配(在图9中使用连续箭头示出)。“K0UVBREMERHAVEN”仅产生在图9中使用划线箭头图示的前缀匹配(BREMERHAVENER STRASSE)。如果可以预期用户总是发出完整的词而不是前缀, 则可以使用利用“精确的”角色的角色相关的候选集来进行集计算,在该情况下,组合 mKOLN BREMERHAVEN”也产生空的组合候选集——即,已经在集计算级上消除了所有错误的组合。通常,可以以那种方式以很低计算成本从进一步的考虑消除相当大数量的槽输入项的组合。超级索引的使用此处描述的搜索方法也可以用于媒体播放机和机顶盒应用,以容易基于搜索地访问大的媒体数据的集合,可以使用该搜索方法来对于该媒体数据的元数据加索引。当媒体数据没有自然的几何嵌入时,它们可以被分配人工瓦片编号。媒体播放机和机顶盒的遥控器经常具有很有限的键盘,因此,在使用减小的键盘的先前部分中描述的技术可以是有益的。可能地,在本上下文中的改进中,可以从中央数据库取出需要移动到媒体播放机装置的元数据信息的一些或全部。可以例如对于音乐文件如此进行,音乐文件的大多数以某种方式源自已经初版并且(在大多数情况下)已经在全球数据库中注册的光盘。因此变得有可能从全球数据库建立超级索引,并且使用这个超级索引来搜索在装置上实际安装的媒体文件的小子集。作为前提,必须登记本地安装的文件,因此,可以容易地访问与给定的瓦片编号相关联的文件。可以通过将它们分类到简单的特里结构形的索引结构来如此进行。在计算人工瓦片编号后,使用超级索引来探测媒体文件的可找到性从媒体文件的元数据构造的搜索查询必须产生包含人工瓦片编号的候选集。如果不是这种情况,则媒体文件对于全球数据库未知。对于像这样的情况,小辅助数据库可以被保留在装置上,并且被整合到搜索处理中。本发明不限于如上所述的实施例。例如,本发明不限于在二维平面中的导航的实现方式,而是也可以适用于对于航空或航天应用能够感知的三维空间,该三维空间被八叉树而不是四叉树分割,或本发明可以适用于一维搜索空间(例如,在电子书籍中的页面)。如对于上面的媒体播放机情形已经描述的那样,该方法也可以通过下述方式用在其中原始数据库对象根本没有空间引用的应用中通过建立原始数据的人工空间嵌入,即, 通过在k维空间中向每一个数据对象分配人造位置。该方法也可以被应用在联网或连接的情形,在该情形中,不必然在同一计算装置上进行查询输入、结果呈现和搜索处理的执行,而是可以将它们分布在通过网络和/或通过其他双向或单向通信链路连接的几个计算装置上。一个示例是基于因特网的应用,其中,用户在网络浏览器中显示的网页上示出的输入字段中输入搜索查询,然后向其中执行本方法的服务器发送该查询,并且,通过网络向回发送结果并且在所述网页的动态部分中显示该结果。另一个示例是媒体中心装置,其具有使用红外线通信链路的遥控器,其中,在媒体中心装置上执行本方法,以便使得能够搜索附接到媒体文件或信道的名称或文本描述,在遥控器上的键盘被用户使用来输入搜索查询,并且,附接到媒体中心装置的电视机用于向用户显示结果。附图标记列表
UlaUb输入窗口
1,窗口
IOUl阴影
2输出窗口
3键盘
31按键
4地图分段
5地图
51地图瓦片
52下一级瓦片
101-105 步骤
102a、102b候选集
104a组合候选集
200特里结构
201根
202边
203节点
204瓦片编号的文件
205空间元素的集合
206空间元素的集合
301-312 步骤
401-409 步骤
权利要求
1.用于借助于索引数据结构(200)在数据库中搜索对象的方法,所述索引数据结构 (200)将对象属性值与被定义来划分空间的空间元素(51)的集合(205,206)相关联,所述空间元素(51)例如是四叉树的瓦片或八叉树的立方体,所述空间特别是二维平面或三维空间,在此,预定义数量的空间元素(51)能够组合为下一级空间元素(52),所述方法包括对于第一输入搜索模式搜索所述索引数据结构(200),并且如果所述第一输入搜索模式通过所述索引数据结构(200)与空间元素(51)的第一集合(205,206)相关联,则将来自所述第一集合(205,206)的所有空间元素(51)包括到空间元素(51)的第一候选集(102a, 102b)中,其中,如果在所述第一候选集(10 , 102b)中的空间元素(51)的数量超过特定极限,则所述空间元素(51)的一些或全部被组合为数量减少的下一级空间元素(52);对于第二输入搜索模式搜索所述索引数据结构(200),并且如果所述第二输入搜索模式通过所述索引数据结构(200)与空间元素(51)的第二集合(205,206)相关联,则将来自所述第二集合(205,206)的所有空间元素(51)包括到空间元素(51)的第二候选集(102a, 102b)中,其中,如果在所述第二候选集(10 , 102b)中的空间元素(51)的数量超过特定极限,则所述空间元素(51)的一些或全部被组合为数量减少的下一级空间元素(52);从所述第一候选集和所述第二候选集(10 , 102b)形成空间元素(51,5 的组合候选集(104a);在空间元素(51,5 的所述组合候选集(104a)中,搜索与所述第一输入搜索模式和所述输入第二搜索模式匹配的对象,以获得结果对象集。
2.根据权利要求1所述的方法,其中,通过形成所述第一候选集和所述第二候选集 (102a, 102b)的交集来从所述第一候选集和所述第二候选集(102a,102b)形成所述组合候选集(104a)。
3.根据权利要求1或2所述的方法,其中,所述索引数据结构(200)将对象属性值与四叉树的空间元素(51)相关联,每一个空间元素对应于二维平面的一部分,并且其中,四个邻接的瓦片能够组合为一个用于表示下一级空间元素(52)的下一级瓦片。
4.根据权利要求3所述的方法,其中,对于在空间元素(51)的所述第一候选集(102a, 102b)内或所述第二候选集(102a,102b)内的空间元素(51)的组合,将四个或更少的邻接瓦片(51)组合为一个下一级瓦片(52),这个组合表示安全的紧化,其中,所述下一级空间元素(52)的区域表示所组合的空间元素(51)的超集。
5.根据前述权利要求之一所述的方法,其中,在对于其中每个表示数据元素的序列, 特别是文本串的所述第一输入搜索模式或所述第二输入搜索模式搜索所述索引数据结构 (200)期间,查看所述第一输入搜索模式或所述第二输入搜索模式是否与空间元素(51, 52)的对象的属性值的前缀匹配。
6.根据前述权利要求之一所述的方法,其中,对于在所述索引数据结构(200)中的输入搜索模式的搜索,使用辅助索引数据结构,所述辅助索引数据结构特别是通过所述索引数据结构(200)将对象属性或对象属性的前缀与已经预先组配的辅助候选集相关联, 并且,如果在所述辅助索引数据结构中的搜索产生非空集,则这个集构成期望的候选集 (102a,102b),否则,通过对于输入搜索模式搜索所述索引数据结构(200)来获得期望的候选集(102a, 102b)。
7.根据前述权利要求之一所述的方法,其中,当交互地输入所述第一输入搜索模式和/或所述第二输入搜索模式时,递增地减小所述组合候选集(104a)。
8.根据前述权利要求之一所述的方法,其中,当交互地输入所述第一输入搜索模式和 /或所述第二输入搜索模式时,提供关于被所述输入搜索模式影响的候选集(10 ,102b, 104a)的表达力的反馈,其中,如果所述候选集(102a,102b,104a)的基数减小,则所述表达力增大,其中,例如,如果所述候选集(102a,102b,104a)的基数小于预定阈值,则提供反馈,并且/或者,如果所述候选集(102a,102b,104a)的基数取零值,则指示错误。
9.根据前述权利要求之一所述的方法,其中,当所述组合候选集(104a)的基数变得小于预定阈值时,执行在空间元素(51,52)的所述组合候选集(104a)中的对于对象的搜索, 并且经由输出装置来输出结果对象。
10.根据前述权利要求之一所述的方法,其中,在空间元素(51,52)的所述组合候选集 (104a)中的对于对象的搜索期间,-对已经搜索的空间元素(51,52)的数量进行计数,并且,当超过预定义的极限时停止所述处理,或者-对已经找到的对象的数量进行计数,并且当超过预定义的极限时停止所述处理,或者-对用于所述搜索的过去的时间进行测量,并且当超过预定义的时间极限时停止所述处理。
11.根据前述权利要求之一的方法,其中,所述搜索被限制为仅考虑与特定目标区域相关联的空间元素(51,52)。
12.根据前述权利要求之一所述的方法,其中,根据一组启发规则来确定所述对象的相关度,所述相关度指示结果对象集的对象表示用户实际上意欲要找到的对象的概率,并且其中,以相关度降低的顺序来向所述用户显示所述结果。
13.根据前述权利要求之一所述的方法,其中,所述数据库包含导航装置的地图数据, 所述对象对应于所述地图数据的地理对象,并且所述二维平面对应于由所述空间元素(51, 52)分割的、要由所述导航装置显示的地理地图。
14.根据权利要求13所述的方法,其中,当交互地输入所述第一输入搜索模式和/或所述第二输入搜索模式时,在所述交互输入期间特别是以递增的方式来输出与空间元素(51, 52)的组合集对应的地理区域。
15.根据前述权利要求之一所述的方法,其中,经由减小的键盘(3),特别是数字键盘 (3)输入所述第一输入搜索模式和/或所述第二输入搜索模式,在所述键盘(3)中,向所述键盘(3)的按键分配多个字母和/或数字,其中,对于所述输入搜索模式的每一个字符,每一个按键仅须被按下一次。
16.根据前述权利要求之一所述的方法,其中,所述第一输入搜索模式和/或所述第二输入搜索模式被启发地解释为每一个具有特定的预定义角色的选择,在此的角色指示相应的输入搜索模式的可能的潜在含义。
17.根据权利要求16所述的方法,其中,通过启发地解释所述第一输入搜索模式和/ 或所述第二输入搜索模式,对于每一个输入搜索模式计算角色相关的启发候选集(102a, 102b),并且通过相交所述角色相关的启发候选集(102a,102b),获得用于搜索查询的具体解释的组合的启发候选集(104a)。
18.根据权利要求17所述的方法,其中,在第一步骤中,对于搜索查询的几种不同的解释,在每一种情况下,计算和穷尽性地搜索组合的启发候选集(10 ),并且,在第二步骤中, 计算和穷尽性地搜索未将所述搜索查询限制到具体解释的所述组合候选集(104a)。
19.根据权利要求18所述的方法,其中,首先符号化地枚举所述不同的解释,而不计算所关联的角色相关的启发候选集(10 ,102b)和组合的启发候选集(10 ),其中,不进一步考虑如下解释对于那些解释而言,通过在所述索引数据结构(200)中的查找,所述角色相关的启发候选集(102a,102b)的一个或更多个被检测为空。
20.根据权利要求18或19所述的方法,其中,根据通过在索引数据结构O00)中的查找而获得的一个或更多个角色相关的启发候选集(102a,102b,104a)的估计的基数来确定要对于输入搜索模式考虑的不同解释的选择或所述不同解释的符号化的枚举。
21.用于借助于索引数据结构(200)在数据库中搜索对象的方法,所述索引数据结构 (200)将数据库对象属性值与元素(51)的集合(205,206)相关联,所述元素(51)例如是四叉树的瓦片或八叉树的立方体,所述方法包括在输入搜索查询内,启发地解释第一输入搜索模式和/或第二输入搜索模式以每一个具有特定预定义角色的选择,在此的角色指示关于对象属性值的相应输入搜索模式的可能的潜在含义;通过启发地解释所述第一输入搜索模式和/或所述第二输入搜索模式,借助于所述索引数据结构来计算每一个输入搜索模式的元素(51)的角色相关的启发候选集(102a, 102b),所述角色相关的启发候选集(10 , 102b)包含那些包括如下对象在内的元素(51) 的集合所述对象的至少一个属性值与在其预定角色中的所述输入搜索模式匹配;相交所述第一输入搜索模式和所述第二输入搜索模式的所述角色相关的启发候选集 (102a,102b),以获得用于所述搜索查询的具体解释的组合启发候选集(104a);并且在元素(51,5 的所述组合启发候选集(104a)中,识别与所述第一输入搜索模式和所述输入第二搜索模式匹配的对象,从而获得结果对象集。
22.根据权利要求21所述的方法,其中,在第一步骤中,对于搜索查询的几种不同的解释,在每一种情况下,计算和必要时穷尽性地搜索组合的启发候选集(104a),并且在第二步骤中,计算和必要时穷尽性地搜索未将所述搜索查询限制到具体解释的组合的候选集 (104a)。
23.根据前述权利要求之一所述的方法,其中,使用辅助索引数据结构来提供用于特定的输入搜索模式的预先紧化的候选集(102a,102b),总是在使用所述主索引数据结构 (200)之前探查所述辅助索引数据结构。
24.根据前述权利要求之一所述的方法,其中,在已经对于给定的输入搜索模式首先计算候选集(10h,102b)和组合候选集(104a)之后,将它们存储在高速缓存数据库中。
25.根据前述权利要求之一所述的方法,其中,所述索引数据结构(200)具有不仅用于对象属性的精确值而且另外用于这些值的预定义的变化形式的输入项,这可以将特定的字符替换为其他字符、或可以向原始值加上特定字符、或可以从原始值省略特定字符、或可以相对于一些字符在原始值中的位置交换它们的位置。
26.根据前述权利要求之一所述的方法,其中,通过下述方式来扩展用于所述第一和所述第二输入搜索模式的所述第一和所述第二候选集(102a,102b)将如下的空间元素(51) 包括到所述第一和第二候选集(102a,102b)内,所述空间元素(51)在组合所述第一和所述第二候选集(10^i,102b)之前几何地邻接在所述第一和第二候选集(l(^a,102b)中已经存在的所述空间元素(51)。
27.根据前述权利要求之一所述的方法,其中,通过诸如语音输入装置的媒体来输入所述第一和第二搜索模式,以产生大量搜索查询变化形式,其中每一个搜索查询变化形式由几个输入搜索模式构成,而不是由单个搜索查询构成,并且其中,通过在索引数据结构 (200)中的查找对于来自搜索查询变化形式的搜索模式计算的候选集(102a,102b)的估计的基数、或者对于搜索查询变化形式计算的组合候选集(104a)的基数被用于引导用于进一步的处理的搜索查询变化形式的子集的选择、或者被用于引导向单独的搜索查询变化形式分配优先级以影响它们的进一步处理的顺序。
28.根据前述权利要求之一所述的方法,其中,通过在索引数据结构O00)中的查找而获得的一个或更多个候选集(102a,102b,104a)的估计的基数被用作一个输入搜索模式或多个输入搜索模式的表达力的度量。
29.根据前述权利要求之一所述的方法,其中,在永久存储介质中登记用户对于搜索结果的最后选择,以用于未来的搜索处理。
30.根据前述权利要求之一所述的方法,其中,作为空间元素(51,52)的所述组合候选集的所述穷尽性搜索的结果,不仅登记其属性与所述输入搜索查询的所有输入搜索模式匹配的对象,而且登记对于其而言一个或更多个输入搜索模式与对象属性不匹配的对象。
31.根据前述权利要求之一所述的方法,其中,不从将实际上使用所述索引数据结构 (200)搜索的数据库,而是从包含将被实际上搜索的所述数据库的对象的全部或大多数的较大数据库,产生所述索引数据结构(200)和所关联的空间元素(51)的集合004-206)。
32.根据前述权利要求之一所述的方法,其中,在索引数据结构O00)中的给定词的存在或不存在、或者通过在索引数据结构O00)中的查找而获得的一个或更多个相关联的候选集(102a,102b)的估计的基数、或者一个或更多个组合候选集(104a)的基数被用于识别和/或校正错误键入的搜索模式和/或对意欲将错误键入的搜索模式转换回有效的搜索模式的、用户指定的搜索模式的自动产生的修改进行评估。
33.根据前述权利要求之一所述的方法,其中,人造空间位置值基于现有的数据库对象属性值来与每一个数据库对象相关联,以便使得能够搜索非空间数据库。
34.根据前述权利要求之一所述的方法,使用由被布置来执行所述方法的一个或更多个计算装置构成并且作为服务器的系统和作为客户机的一个或更多个计算装置,其中,每一个客户机被配置来接受作为用户输入的搜索查询并且/或者向一个或更多个用户发回搜索结果,并且,每一个客户机通过诸如因特网的网络、或者通过诸如无线电或红外线传输的单向或双向通信链路而永久或间歇地连接到所述服务器。
35.计算装置,特别是移动计算装置,诸如导航装置,其被布置来运行根据前述权利要求之一所述的方法。
全文摘要
本发明提供了一种用于借助于索引数据结构(200)在数据库中搜索对象的方法,所述索引数据结构(200)将对象属性值与被定义来分割空间的空间元素(51)的集合(205,206)相关联,所述空间元素(51)例如是四叉树的瓦片或八叉树的立方体,在此,预定义数量的空间元素(51)能够组合为下一级空间元素(52),所述方法包括对于第一输入搜索模式搜索所述索引数据结构(200),并且如果所述第一输入搜索模式通过所述索引数据结构(200)与空间元素(51)的第一集合(205,206)相关联,则将来自所述第一集合(205,206)的所有空间元素(51)包括到空间元素(51)的第一候选集(102a,102b)中,其中,如果在所述第一候选集(102a,102b)中的空间元素(51)的数量超过预定的最大值,则所述空间元素(51)的一些或全部被组合为数量减少的下一级空间元素(52);对于第二输入搜索模式搜索所述索引数据结构(200),并且如果所述第二输入搜索模式通过所述索引数据结构(200)与空间元素(51)的第二集合(205,206)相关联,则将来自所述第二集合(205,206)的所有空间元素(51)包括到空间元素(51)的第二候选集(102a,102b)中,其中,如果在所述第二候选集(102a,102b)中的空间元素(51)的数量超过预定的最大值,则所述空间元素(51)的一些或全部被组合为数量减少的下一级空间元素(52);从所述第一候选集和所述第二候选集(102a,102b)形成空间元素(51,52)的组合候选集(104a);并且,在空间元素(51,52)的所述组合候选集(104a)中搜索与所述第一输入搜索模式和所述输入第二搜索模式匹配的对象以获得结果对象集。因此,提供了允许在移动导航装置的地图数据内的对于对象的自由文本搜索的方法。
文档编号G01C21/00GK102395965SQ201080016701
公开日2012年3月28日 申请日期2010年4月19日 优先权日2009年4月17日
发明者安德烈亚斯·施拉姆, 蒂洛·厄恩斯特 申请人:弗兰霍菲尔运输应用研究公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1