CN1755684A - 查询强制的索引 - Google Patents
查询强制的索引 Download PDFInfo
- Publication number
- CN1755684A CN1755684A CNA2005100893638A CN200510089363A CN1755684A CN 1755684 A CN1755684 A CN 1755684A CN A2005100893638 A CNA2005100893638 A CN A2005100893638A CN 200510089363 A CN200510089363 A CN 200510089363A CN 1755684 A CN1755684 A CN 1755684A
- Authority
- CN
- China
- Prior art keywords
- index
- item
- indexed
- batch
- inquiry
- 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
Images
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/245—Query processing
- G06F16/2455—Query execution
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2272—Management thereof
-
- 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/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/328—Management therefor
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
使用查询过程和索引过程来创建可搜索索引。该查询过程与该索引过程协作,以将位于指定搜索范围内的项编入目录。评估先前被编入索引的项,以确保其索引是最新的。过时的项具有应当被更新的不可靠索引。在指定搜索范围内要被编入索引的项被分组成批以供处理。在每一批的处理完成时,其各自的索引结果变得可用,以使部分编入索引的搜索范围在索引过程继续时是可用的。由于索引结果是在进行的基础上缓慢出现的,所以允许用户处理和/或查看索引结果,而不等待整个索引过程完成。
Description
背景技术
索引服务可用在计算机上以创建对可搜索信息的目录或“索引”。该信息通常由对计算机文件系统上的文件的引用和在那些文件中发现的文本组成。例如,索引可创建用于按其文档名标识的文字处理文档的索引,包括文件路径,以及从相应文字处理文档的内容中提取的可搜索文本。在索引被创建后,用户可评审该搜索结果,以定位包括指定的关键字搜索词的文字处理文档。
发明内容
本发明针对向用户提供用于创建可搜索索引的方法和系统。
简言之,本发明的实施例涉及使用查询过程和索引过程而创建的可搜索索引。查询过程与索引过程协作,以对位于指定搜索范围内的项编目录。先前被编入索引的项被评估,以确保其索引是最新的。已经过期的项具有应当被更新的不可靠索引。在指定搜索范围内要被编入索引的项被分批组合以供处理。由于每批的处理是完整的,所以其各自的索引结果变得可用,这样以使部分编入索引的搜索范围可在索引过程继续的同时候是可用的。由于索引结果是在进行的基础上慢慢出现的,所以用户被允许处理和/或查看索引结果,而不等待完整的索引过程完成。
根据本发明的一方面,使用查询过程和索引服务来创建可搜索索引,它们彼此协作,以使用户可在搜索正在进行的同时在进行的基础上接收和/或查看搜索结果。这就允许在索引过程完成之前查看部分搜索结果。数据存储可用于创建并更新诸如如表等维护搜索结果和其它相关信息的结构。
根据本发明的另一个方面,查询过程根据用户选择范围来检查所有要被编入索引的项,以确定哪个当前被编入索引的项是被最新的。该查询过程可随后通知索引服务爬行(crawl)用户选择的范围,以创建索引。
根据本发明的又一个方面,索引服务被安排成批处理项的组,以使报告的部分搜索结果频率能够最小化不必要的延迟。可根据优先级规则、组内项之间的逻辑关系、或者某些其它规则组来选择批处理组。用户可在完成所有的批之前终止搜索。索引服务可被配置成以降低的优先级水平继续将剩余的项编入索引,以使用户经历不被正在进行的后台索引过程所损害。
本发明及其改进的更完整认识可通过参考下文简要描述的附图、以下本发明说明性实施例的详细描述、以及所附权利要求书来获得。
附图说明
图1示出可用于本发明的一个示例实施例的示例性计算设备;
图2是示出一示例查询索引系统的图示;
图3是示出另一示例查询索引系统中处理流序列的图示;
图4是示出又一示例查询索引系统中处理流序列的图示;
图5是示出一个示例查询过程中处理流的图示;
图6是示出一个示例范围检查过程中处理流的图示;
图7是示出一个示例查询结果过程中处理流的图示;
图8是示出一个示例批过程中处理流的图示;
图9是示出一个示例创建索引过程中处理流的图示;以及
图10是示出依照本发明的至少一个实施例安排的、用于启动索引过程的处理流的图示。
具体实施方式
本发明的实施例将参考附图来详细描述,贯穿若干附图,相同的参考标号表示相同的部分和组件。对各个实施例的参考不限制本发明的范围,其仅受到所附权利要求书范围的限制。尽管这里描述的许多示例涉及文件系统和文件系统的可搜索索引,但是索引方法不限于文件系统。所描述的索引系统和方法可同等地应用于任何其它应用程序、数据库、服务或可从索引服务中受益的系统,这一般包括,但不局限于:电子邮件应用程序、数据库、联系人管理器、帮助系统、文件服务、web内容服务器、网页主机服务以及搜索工具。在本说明书中阐述的示例并非限制性的,而是仅阐述所要求保护的本发明的许多可能的实施例中的某一些。
说明性操作环境
参考图1,用于实现本发明的示例系统包括计算设备,如计算设备100。在最基本的配置中,计算设备100通常包括至少一个处理单元102和系统存储器104。取决于计算设备的确切配置和类型,系统存储器104可以是易失性的(如RAM)、非易失性的(如ROM、闪存等)或者这两者的某种组合。系统存储器104通常包括操作系统105、一个或多个应用程序106,并且可包括程序数据107。在一个实施例中,应用程序106可包括用户界面,如搜索工具、查询过程、索引服务、电子邮件应用程序、联系人管理器程序、数据库程序、文件系统服务,或者某种其它服务、过程或程序120。这个基本的配置在图1中用虚线108内的组件示出。
计算设备100可具有附加特征或功能。例如,计算设备100也可包括附加数据存储设备(可移动和/或不可移动),如磁盘、光盘或磁带。这样的附加存储在图1中由可移动存储109和不可移动存储110示出。计算机存储介质可包括以用于诸如计算机可读指令、数据结构、程序模块或者其它数据等信息的存储的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器104、可移动存储109和不可移动存储110都是计算机存储介质的示例。计算机存储介质包括,但不局限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、盒式磁带、磁带、磁盘存储或其它磁存储设备,或者任何其它可用于储存所需信息并可由计算设备100存取的介质。任何这样的计算机存储介质可以是设备100的一部分。计算设备100也可具有一个或多个输入设备112,如键盘、鼠标、笔、语音输入设备、触摸输入设备等等。一个或多个输出设备114,如显示器、扬声器、打印机等,也可被包括在内。
计算设备100也可包含通信连接116,其允许设备如通过网络与另一个计算设备118进行通信。通信连接116是通信介质的一个示例。通信介质通常可具体化为如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或者其它数据,并且通信介质包括任何信息递送介质。术语“已调制数据信号”意指以对信号中的信息进行编码的方式改变或设置其一个或多个特征的信号。作为例子,而并非限制,通信介质包括有线介质,如有线网络或直线连接,以及无线介质,如声波、RF、红外线和其它无线介质。这里所使用的术语计算机可读介质包括存储介质和通信介质。
查询系统
图2示出依照本发明的至少一个实施例安排的查询系统。在最简单的实现中,该系统使用查询过程和索引过程。索引过程可被逻辑地划分成数据存储和索引服务。在一个实现中,数据存储和索引服务可以是位于单个程序模块内的逻辑分区。在另一个实现中,数据存储和索引服务可位于单个计算设备上的单独模块中。在又一个实现中,数据存储和索引服务位于单独计算设备上的单独模块中。在再一个实现中,数据存储和索引服务位于同一物理计算设备中的不同虚拟机中,如客户机和主机。
查询过程通过用户界面或可由用户配置的某种其它配置而从用户那里接收索引请求201。查询过程处理索引请求201,并与数据存储交互(如,通过请求202检索数据),以确定索引请求内的所有项当前是否被编入索引且最新。当索引请求当前不是最新时,查询过程通过通知203通知索引服务开始对所被标识的索引请求编索引。查询过程与数据存储进行通信,以检索已经被编入索引并且是最新的初始结果204。初始结果204由查询过程接收,并作为数据205被返回给用户,这可被检索并在诸如图形显示等用户界面上显示。
当来自数据存储的当前编入索引的项对于索引请求的全范围是不完整的时候,必须执行附加索引。在这种情况下,索引服务枚举还没有被编入索引的项(或陈旧的项),并启动对每个剩余项的索引。索引服务使用批处理将剩余项分为组,以使部分索引结果可在所有的项被编入索引之前被检索。索引服务在索引结果206完成时将索引结果206传递到数据存储,并在每一批完成后将通知207发送到查询过程。查询过程在接收到批完成的通知之后,从数据存储中检索批索引结果208。查询过程将批处理结果作为数据209返回给用户,这也可被检索并在用户界面上显示。批索引继续,直到所有的批被处理好或索引过程被终止。
查询可得到比在其它传统实现中观察到的更快的可搜索/可评审索引。该索引是被动态创建的,以使能够显示部分索引的结果,同时剩余索引能够继续(如在后台进程中)。有关先前索引的文档的查询结果被重复使用,并用如上所述的附加动态索引方法来补充。
索引过程通常被配置成在客户机上执行。客户机可为了各种目的被配置成以用作客户机和主机/服务器两者的虚拟机的形式工作。要编入索引的项可物理地位于客户机上、在主机上(与客户机的相同物理机器或者的不同的机器)、和/或跨一个或多个网络化系统(如LAN、WAN、UWAN等)。可被编入索引的项可由任何数据、文档、可执行码或者任何其它可存在于可搜索系统中的信息组成。示例项包括程序对象、宏、脚本、文字处理文档、文本文档、电子表格文档、图形图像、数据文件、电子邮件文件、联系人数据库、或者可存在于系统上的任何其它适当形式的保存信息。
对查询过程的索引查询可指定范围,以使对特定查询搜索可搜索空间的一个有限部分(如文件系统、用户电子邮件、组项目工作空间等的一部分)。索引过程的有效性通过实现分批索引,而不是一次处理单个文档来改善。批大小可被调节,以使索引结果的陆续出现更频繁,而且增强了总体用户体验。每一批的结果被返回给查询过程。该过程一直继续,直到索引相对于所选范围为最新。数据存储可由数据库、诸如表等数据构造、或者可保存将指定范围内的项与索引关键字项词相关的信息的任何其它适当机制组成。一般而言,数据存储可以是任何数据构造,其包括跟踪对指定范围内的项的改变的持久队列。
通用处理序列
图3是示出依照本发明的至少一个实施例安排的另一个示例查询索引系统中处理流序列的图示。示例处理流被划分成三个逻辑处理部分,即用户界面、查询过程以及索引过程。在该示例实现中,查询过程、索引过程和用户界面可被组合成单个模块,或者被分割成更进一步的逻辑分区。图3中示出的示例处理流包括具有两个单独指定的范围(范围1和范围2)的两个查询。最初,索引队列通过诸如搜索引擎等用户界面而被启动。每个索引查询具有被指定为搜索“范围”的有限的搜索域(如,文件系统的特定部分、用户访问区域等)。
在第一示例中,索引查询(启动查询1)从用户界面传递到查询过程,其中索引查询由搜索范围1界定。查询过程进而使用来自指定搜索范围(范围1)上的请求的搜索词(如文本串)将对索引的请求(请求索引)发送到索引过程。索引过程检查指定范围(范围1)内该查询(查询1)的现有索引(检查索引)。对该第一示例,包括在查询(查询1)中的搜索词(或关键字词)在所选中的范围(范围1)内被完全索引,且索引过程将完整的搜索结果(完整结果)返回给查询过程。查询过程进而将索引结果发送到用户界面,它可显示索引的结果(显示结果)。
在第二示例中,第二索引查询(启动查询2)从用户界面传送到查询过程,其中第二索引查询由搜索范围2界定。查询过程再次使用来自指定搜索范围(现在是范围2)上的请求的搜索词(如文本串)将对索引的请求(请求索引)发送到索引过程。索引过程监察指定范围(范围2)内该查询(查询2)的现有索引(检查索引)。对该第二示例,包括在查询(查询2)内的搜索词(或关键字词)在所选中的范围(范围2)内没有被完全索引,而且索引过程将部分搜索结果(部分结果)返回给查询过程。查询过程进而将部分索引结果发送到用户界面以供显示(显示部分结果)。该部分结果对应于前一索引操作中先前被编入索引的项。认识到索引结果不是完整的之后,索引过程启动一批索引过程,以处理所选中的范围(范围2)内剩余项的索引。概括地,批过程将规则应用于剩余项,并创建这些项的分组以供索引。随后将更详细地描述示例批过程。由于每一批索引是已完成的,所以批结果(如批1结果、批2结果、……、批N结果)被报告给查询过程。当接收到批结果,更新用户界面上的显示(若适用),以表明另外编入索引的项。
示例性详细处理序列
图4是示出依照本发明的至少一个实施例安排的另一个查询索引系统中的处理流序列的图示。该示例处理流被划分成三个逻辑处理部分,即查询过程、数据存储(如WINFS数据结构)以及索引服务。在另一个示例实现中,查询过程、数据存储和索引服务可被组合成单个模块,或者可被分割成更进一步的逻辑分区。
在第三示例中,索引查询(启动查询3)通过某种用户交互传递查询过程,其中索引查询由另一个搜索范围(范围3)界定。查询过程进而与数据存储通信(如对数据库的SQL请求),以确定查询和所选中的范围(查询3、范围1)是否为最新。对该第三示例,数据存储不包括所选中范围上的查询的索引,而且数据存储与索引服务进行通信,以请求索引(请求索引),索引然后用分批索引过程来启动。数据存储也将过时指示符(过时)连同对应于所请求的索引(查询3、范围3)的标识符(如,查询ID=QID3)返回给查询过程。然后,查询过程可向数据存储注册对与查询索引(QID3)相关联的所有索引结果的通知,并且将请求发送到索引结果(查询结果)的数据存储。数据存储与索引服务通信(请求索引),以请求并接收涉及查询索引(QID3)的结果(部分结果)。部分结果由查询过程从数据存储中检索,以供进一步处理和/或显示(显示)。
认识到索引结果不是完整的之后,索引过程启动分批索引过程,以处理所选中范围(范围3)内剩余项的索引。由于每一批索引是已完成的,所以批结果(批结果)参考批标识符(批ID=BID1,BID2,...,BIDN)被报告给查询过程。一旦批结果被数据存储接收到,则表明已完成批的查询Id(QID3)和批ID(BIDx)的通知就被传送到查询过程(批完成)。一被通知完成之后,查询过程就可请求指定批结果的检索。在处理所有批后,数据存储通知查询过程,最后一批已完成了,且最终的分批索引结果的检索可由查询过程从数据存储中检索。然后,查询过程可终止向数据存储的注册,或简单地丢弃逻辑连接句柄。
用于在数据存储中储存索引信息的格式是不重要的。数据结构、数据库以及其它特定数据类型可安排成根据文本串,以及诸如项位置(如文字处理文档内的位置)等其它信息向索引项提供足够的信息。为说明起见,提供下面的表格,以示出可储存于其中的索引信息的类型:
文本串 | 项标识符 | 项中的出现 |
Apple | Doc_ID1 | 1,7,9 |
Doc_ID9 | 8 | |
Doc_ID11 | 4,5 | |
Pie | Doc_ID2 | 3 |
Doc_ID9 | 4 |
表1-示例性索引表
与每个项相关联的范围和版本标记可在如下所示的另一个数据表中找到。对该示例,范围是根据相对文件路径名、http地址或者绝对文件路径名来确定的。
项标识符 | 范围 | 版本标记 |
Doc_ID1 | ../toot/pathl | 37 |
Doc_ID2 | http://my.home/my.account | 150 |
Doc_ID9 | C:/ | 101 |
Doc_ID11 | D:/myfiles | 29 |
表2-示例性历史/版本表
版本标记可由各种过程使用,以确定特定的文档是否已经使用诸如文档或项的散列、创建/修订日期和时间、或者标识项版本的某些其它标准来修改。版本表可用来跟踪项的当前版本,而历史表可用来跟踪被编入索引表内的项的当前版本。
示例过程流
示例过程流通过图5-10说明。每个过程流可被配置成操作在多任务或多线程环境中运行或者作为集成的进程运行的单独进程。
图5是示出在依照本发明的至少一个实施例安排的示例查询过程中的处理流的图示。查询过程在其接收到查询时或在接收到涉及前一查询的通知之前可以是空闲的。当通知由查询过程接收到时,查询过程评审该通知,并基于批ID(BID)来向另一个过程查询结果。当查询被查询过程接收到时,查询过程启动对查询的范围检查,以确定所选中的范围的索引是否过时。当范围过时的时候,查询过程注册通知,并启动另一个过程中的批处理。在注册后,或者当范围为最新时,查询过程请求任何可用的部分结果的索引结果并返回这些结果。
图6是示出依照本发明的至少一个实施例安排的示例范围检查过程中的处理流的图示。范围检查过程在接收查询之前是空闲的。一接收到查询,范围检查过程就标识在请求中找到的范围(如路径名),并确定所选中的范围内的项是否过时。每个项具有相关联的版本号,以及对应于用来创建与该项相关联的最后一个索引的版本号的历史版本号。当任何一个项具有编入索引版本号和当前版本号之间的差异时,索引相对于于该项是过时的。过时项被标识、被分类到优先级队列中、被分配一用于索引的查询ID(QID),并且返回一指示项过时的通知。当所有编入索引的版本和当前的版本相同时,返回一表明项是最新的通知。
图7是示出依照本发明的至少一个实施例安排的示例查询结果过程中的处理流的图示。查询结果过程在接收查询之前是空闲的。一接收到查询,查询结果过程就检索与查询范围相关联的队列索引(QID),并确定查询是否表明批过程。当队列索引不表明批过程(无BID)时,返回一表明结果是最新的通知。对于表明批过程的队列索引,评估所标识的批过程的优先级队列(QID、BID)被评估,且参考批标识符(BID)返回批结果。
图8是示出依照本发明的至少一个实施例安排的示例分批过程中的处理流的图示。批过程在请求通知注册之前是空闲的。在接收到注册请求之后,分批试探被应用于所选中范围内的项,以确定用于索引的项分组。每个分组根据查询标识符(QID)和批标识符(BID)被编入索引,且返回分批过程完成的通知。在所请求的查询中的所有项被分批后,分批过程返回到空闲状态。
图9是示出依照本发明的至少一个实施例安排的示例创建索引过程中的处理流的图示。创建批标识符(BID),且评估来自分批过程的队列的最高优先级项。对于最高优先级批中的所有项启动索引,直到所有的批被处理。
图10是示出依照本发明的至少一个实施例安排的用于启动索引过程的处理流的图示。与批标识符(BID)相关联的每一项在所有项被编入索引之前被依次编入索引。当该批被完全编入索引时,返回通知。
以上说明书、示例和数据提供本发明组成部分的制造和使用的完整描述。由于在不背离本发明精神和范围的前提下可做出本发明的许多实施例,所以本发明驻留在所附权利要求书中。
Claims (23)
1.一种用于响应于查询将位于预定范围内的项编入索引的方法,包括:
接收所述查询;
检查与所述预定范围内的查询相关联的索引;
当所述预定范围内的部分项先前已被检索,并且自从最后一次索引以来该部分项没有变化时,检索部分结果;
当自从最后一次索引以来所述项已改变时,分配一个项用于批处理;
当所述项没有被编入索引时,分配一所述项用于批处理;以及
对被分配用于批处理的项启动分批索引;以及
检索已完成索引的批过程的批结果。
2.如权利要求1所述的方法,其特征在于,还包括:当所述预定范围内的所有项先前已被编入索引,且自从最后一次索引以来所述项没有改变时,检索完整的结果。
3.如权利要求1所述的方法,其特征在于,还包括:在完成至少一个批过程的索引之前,显示所述部分结果。
4.如权利要求3所述的方法,其特征在于,还包括:当对应批过程已经完成索引时,显示所述批结果。
5.如权利要求1所述的方法,其特征在于,检查用于索引位于所述预定范围内的项的索引包括:标识所述预定范围、将所述预定范围内找到的项编入目录、以及确定关于所述预定范围内找到的每一项的索引状态。
6.如权利要求1所述的方法,其特征在于,确定索引状态包含以下的至少一个:评估与所述项相关联的时间标记、评估与所述项相关联的版本号、评估与所述项的前一索引相关联的时间标记、以及评估与所述项的前一索引相关联的版本号。
7.一种用于响应于查询将位于预定范围内的项编入索引的方法,包括:
接收所述查询;
标识与所述查询相关联的所述预定范围;
评估与所述预定范围内的项的索引相关联的状态;
将项分组成处理批,其中,所述被分组的项与先前没有被编入索引的项相关联:
将附加项分组成处理批,其中,所述被附加分组的项对应于当前过时的已编入索引的项;
对所述处理批启动索引过程;
检索所述预定范围内最新项的索引结果;以及
当每一处理批完成所述索引过程时,检索所述预定范围内过时项的索引结果。
8.如权利要求7所述的方法,其特征在于,每个处理批具有一相关联的批标识符,其中,每个索引结果参照所述批标识符。
9.如权利要求7所述的方法,其特征在于,每个查询具有一相关联的查询标识符,且其中,每个编入索引的结果参照所述查询标识符。
10.一种用于响应于查询将位于预定范围内的项编入索引的系统,包括:
被安排成接收查询的查询过程,其中,所述查询过程被安排成:评估所述查询、请求与所述查询相关联的索引、以及检索与所述查询相关联的索引结果;以及
被安排成与所述查询过程进行通信的索引过程,其中,所述索引过程被安排成:接收对与所述查询相关联的索引的请求、评估与所述预定范围内的查询相关联的状态、提供所述预定范围内找到的先前被编入索引的项的索引结果、启动所述预定范围内找到的项的索引、以及当索引对项组已完成且对其它项继续时,在进行的基础上将索引结果报告给所述查询过程。
11.如权利要求10所述的系统,其特征在于,与查询相关联的所述索引结果被储存在数据存储中。
12.如权利要求10所述系统,其特征在于,还包括一数据存储,其中,所述数据存储包括根据一数据结构组织的信息,所述数据结构标识以下的至少一个:与编入索引的项相关联的状态、与所述编入索引的项相关联的时间标记、与所述编入索引的项相关联的版本号、与所述项相关联的时间标记、以及与所述项相关联的版本号。
13.如权利要求10所述的系统,其特征在于,所述索引过程包括一被安排成储存与所述查询相关联的索引结果的数据存储。
14.如权利要求10所述的系统,其特征在于,所述索引过程包括一数据存储,其中,所述数据存储包括根据一数据结构组织的信息,所述数据结构标识以下的至少一个:与编入索引项相关联的状态、与所述编入索引的项相关联的时间标记、与所述编入索引的项相关联的版本号、与所述项相关联的时间标记,以及与所述项相关联的版本号。
15.如权利要求10所述的系统,其特征在于,所述索引过程包括一索引服务,它被安排成对由所述索引过程编入索引的项组启动索引功能。
16.如权利要求10所述的系统,其特征在于,所述查询过程根据一查询标识符注册与查询相关联的通知,以使能够参考所述查询标识符向所述查询过程通知已经完成了索引。
17.如权利要求16所述的系统,其特征在于,当参考所述查询标识符完成索引时,所述查询过程在接收到通知之后向所述索引过程请求结果。
18.如权利要求10所述的系统,其特征在于,所述查询过程注册与所述查询相关联的通知,其中,所述索引过程将批标识符分配给响应于所述查询而编入索引的项组,并且其中,所述索引过程在参照所述批标识符对一指定批完成索引时通知所述查询过程。
19.如权利要求18所述的系统,其特征在于,当参考所述批标识符对所述指定的批完成了索引时,所述查询过程在接收到通知后向所述索引过程请求结果。
20.一种包含计算机可执行指令的计算机可读介质,当所述指令由计算设备执行时,执行一种响应于查询将位于预定范围内的项编入索引的方法,所述方法包括:
启动所述预定范围内的查询;
响应于由所述预定范围界定的所述查询,请求索引;
检查与由所述预定范围界定的项的索引相关联的状态;
基于所述状态检查,检索与所述预定范围内的最新项相关联的索引结果;
创建用于检索的项批,其中,所述批与项相关联,所述项是以下的至少一个:根据所述状态检查是过时的、以及未被编入索引的;
将所述批编入索引;以及
在正在进行的基础上,当被编入索引的批完成时,检索其索引结果。
21.如权利要求20所述的方法,其特征在于,还包括:应用一试探以确定每一批中适当的项组。
22.如权利要求20所述的方法,其特征在于,还包括:减少每一批中项的数量,以增加与索引相关联的优先级水平。
23.如权利要求20所述的方法,其特征在于,还包括:将与所述批相关联的项装入至少一个优先级队列中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/955,937 US7672928B2 (en) | 2004-09-30 | 2004-09-30 | Query forced indexing |
US10/955,937 | 2004-09-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1755684A true CN1755684A (zh) | 2006-04-05 |
CN1755684B CN1755684B (zh) | 2010-05-05 |
Family
ID=35559419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005100893638A Expired - Fee Related CN1755684B (zh) | 2004-09-30 | 2005-07-29 | 查询强制的索引 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7672928B2 (zh) |
EP (1) | EP1643384B1 (zh) |
JP (1) | JP4786945B2 (zh) |
KR (1) | KR101137147B1 (zh) |
CN (1) | CN1755684B (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7672928B2 (en) | 2004-09-30 | 2010-03-02 | Microsoft Corporation | Query forced indexing |
US20060212422A1 (en) * | 2005-03-21 | 2006-09-21 | Anil Khilani | Efficiently executing commands against a large set of servers with near real time feedback of execution and presentation of the output of the commands |
US20060294049A1 (en) * | 2005-06-27 | 2006-12-28 | Microsoft Corporation | Back-off mechanism for search |
JP5105894B2 (ja) * | 2006-03-14 | 2012-12-26 | キヤノン株式会社 | 文書検索システム、文書検索装置及びその方法とプログラム、記憶媒体 |
US20080010238A1 (en) * | 2006-07-07 | 2008-01-10 | Microsoft Corporation | Index having short-term portion and long-term portion |
WO2008013978A2 (en) * | 2006-07-28 | 2008-01-31 | Visible World Inc. | Systems and methods for enhanced information visualization |
US9098603B2 (en) * | 2007-06-10 | 2015-08-04 | Apple Inc. | Index partitioning and scope checking |
JP5162215B2 (ja) * | 2007-11-22 | 2013-03-13 | 株式会社エヌ・ティ・ティ・データ | データ処理装置、データ処理方法、および、プログラム |
US9558195B2 (en) * | 2009-02-27 | 2017-01-31 | Red Hat, Inc. | Depopulation of user data from network |
US20110078166A1 (en) * | 2009-09-29 | 2011-03-31 | Nokia Corporation | Method and apparatus for creating and utilizing information representation of queries |
US8903793B2 (en) | 2009-12-15 | 2014-12-02 | At&T Intellectual Property I, L.P. | System and method for speech-based incremental search |
US9158767B2 (en) * | 2011-04-08 | 2015-10-13 | Microsoft Technology Licensing, Llc | Lock-free indexing of documents |
US8990612B2 (en) | 2011-04-08 | 2015-03-24 | Microsoft Technology Licensing, Llc | Recovery of a document serving environment |
US9185163B2 (en) * | 2011-04-08 | 2015-11-10 | Microsoft Technology Licensing, Llc | Receiving individual documents to serve |
US9298785B2 (en) * | 2013-07-19 | 2016-03-29 | Paypal, Inc. | Methods, systems, and apparatus for generating search results |
US9262457B2 (en) * | 2013-08-13 | 2016-02-16 | Sybase, Inc. | On-demand hash index |
US20150120748A1 (en) * | 2013-10-31 | 2015-04-30 | Microsoft Corporation | Indexing spreadsheet structural attributes for searching |
US11586600B2 (en) * | 2013-11-05 | 2023-02-21 | Varonis Systems, Inc | In-advance indexing |
US20150149474A1 (en) * | 2013-11-27 | 2015-05-28 | KCura Corporation | Method and apparatus for indexing and searching documents |
US9842111B2 (en) * | 2013-12-22 | 2017-12-12 | Varonis Systems, Ltd. | On-demand indexing |
US10229140B2 (en) | 2015-06-30 | 2019-03-12 | International Business Machines Corporation | Extensible indexing system evaluation and recommendation |
US10740311B2 (en) * | 2015-09-14 | 2020-08-11 | Sap Se | Asynchronous index loading for database computing system startup latency managment |
US10198474B2 (en) * | 2016-01-19 | 2019-02-05 | Quest Software Inc. | Delaying one or more searches to cause multiple searches to load and evaluate segments together |
US10929357B2 (en) * | 2016-02-29 | 2021-02-23 | Red Hat, Inc. | Detecting stale storage layouts without using client locks |
US9864785B2 (en) | 2016-10-24 | 2018-01-09 | Interntaional Business Machines Corporation | Processing a query via a lambda application |
US11222085B2 (en) | 2016-11-29 | 2022-01-11 | International Business Machines Corporation | Finding content on computer networks |
US10990573B2 (en) * | 2019-01-16 | 2021-04-27 | Syscom Computer Engineering Co. | Fast index creation system for cloud big data database |
US11170045B2 (en) | 2019-12-06 | 2021-11-09 | Adp, Inc. | Method and system for interactive search indexing |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH071480B2 (ja) * | 1986-09-24 | 1995-01-11 | 日本電信電話株式会社 | 情報検索方法 |
JPH05120343A (ja) * | 1991-10-25 | 1993-05-18 | Hokkaido Nippon Denki Software Kk | 索引更新方式 |
US5701469A (en) * | 1995-06-07 | 1997-12-23 | Microsoft Corporation | Method and system for generating accurate search results using a content-index |
US5974409A (en) * | 1995-08-23 | 1999-10-26 | Microsoft Corporation | System and method for locating information in an on-line network |
JPH09204442A (ja) * | 1996-01-24 | 1997-08-05 | Dainippon Screen Mfg Co Ltd | ドキュメントデータ検索システム |
US5920854A (en) * | 1996-08-14 | 1999-07-06 | Infoseek Corporation | Real-time document collection search engine with phrase indexing |
US6026406A (en) * | 1997-06-04 | 2000-02-15 | Oracle Corporation | Batch processing of updates to indexes |
US6185551B1 (en) * | 1997-06-16 | 2001-02-06 | Digital Equipment Corporation | Web-based electronic mail service apparatus and method using full text and label indexing |
US5960423A (en) * | 1997-08-15 | 1999-09-28 | Microsoft Corporation | Database system index selection using candidate index selection for a workload |
US6334125B1 (en) * | 1998-11-17 | 2001-12-25 | At&T Corp. | Method and apparatus for loading data into a cube forest data structure |
US6327593B1 (en) * | 1998-12-23 | 2001-12-04 | Unisys Corporation | Automated system and method for capturing and managing user knowledge within a search system |
US6516337B1 (en) * | 1999-10-14 | 2003-02-04 | Arcessa, Inc. | Sending to a central indexing site meta data or signatures from objects on a computer network |
US6366907B1 (en) * | 1999-12-15 | 2002-04-02 | Napster, Inc. | Real-time search engine |
EP1207464A2 (en) * | 2000-11-15 | 2002-05-22 | Samsung Electronics Co. Ltd. | Database indexing using a tree structure |
FR2835334A1 (fr) * | 2002-01-31 | 2003-08-01 | France Telecom | Systeme et procedes d'indexation et de recherche a extension de requetes, moteurs d'indexation et de recherche |
US7249118B2 (en) * | 2002-05-17 | 2007-07-24 | Aleri, Inc. | Database system and methods |
US7203690B2 (en) * | 2002-05-31 | 2007-04-10 | Capital One Financial Corporation | Systems and methods for tracking assets |
US7016914B2 (en) * | 2002-06-05 | 2006-03-21 | Microsoft Corporation | Performant and scalable merge strategy for text indexing |
JP2004022355A (ja) * | 2002-06-17 | 2004-01-22 | Temuko Japan:Kk | コンセントタップ、電源遮断システム及び電源遮断方法 |
US7051020B2 (en) * | 2002-06-27 | 2006-05-23 | International Business Machines Corporation | Intelligent query re-execution |
US7194455B2 (en) | 2002-09-19 | 2007-03-20 | Microsoft Corporation | Method and system for retrieving confirming sentences |
KR100918153B1 (ko) * | 2003-03-12 | 2009-09-17 | 주식회사 케이티 | 실시간 인덱싱을 이용한 웹 페이지 고속 검색 방법 |
US20040230571A1 (en) * | 2003-04-22 | 2004-11-18 | Gavin Robertson | Index and query processor for data and information retrieval, integration and sharing from multiple disparate data sources |
US7334001B2 (en) * | 2003-06-13 | 2008-02-19 | Yahoo! Inc. | Method and system for data collection for alert delivery |
WO2005020103A1 (en) * | 2003-08-18 | 2005-03-03 | Sap Aktiengesellschaft | Generic search engine framework |
US7685104B2 (en) * | 2004-01-08 | 2010-03-23 | International Business Machines Corporation | Dynamic bitmap processing, identification and reusability |
US7406477B2 (en) * | 2004-03-12 | 2008-07-29 | Sybase, Inc. | Database system with methodology for automated determination and selection of optimal indexes |
US20050223027A1 (en) * | 2004-03-31 | 2005-10-06 | Lawrence Stephen R | Methods and systems for structuring event data in a database for location and retrieval |
US8099407B2 (en) * | 2004-03-31 | 2012-01-17 | Google Inc. | Methods and systems for processing media files |
US7720845B2 (en) * | 2004-08-13 | 2010-05-18 | Yahoo! Inc. | Systems and methods for updating query results based on query deltas |
US7672928B2 (en) * | 2004-09-30 | 2010-03-02 | Microsoft Corporation | Query forced indexing |
-
2004
- 2004-09-30 US US10/955,937 patent/US7672928B2/en not_active Expired - Fee Related
-
2005
- 2005-06-10 EP EP05105103.5A patent/EP1643384B1/en not_active Not-in-force
- 2005-06-15 JP JP2005175175A patent/JP4786945B2/ja not_active Expired - Fee Related
- 2005-06-23 KR KR1020050054291A patent/KR101137147B1/ko active IP Right Grant
- 2005-07-29 CN CN2005100893638A patent/CN1755684B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006107434A (ja) | 2006-04-20 |
US7672928B2 (en) | 2010-03-02 |
EP1643384A3 (en) | 2006-06-07 |
US20060069672A1 (en) | 2006-03-30 |
KR101137147B1 (ko) | 2012-04-19 |
EP1643384B1 (en) | 2018-07-25 |
KR20060048488A (ko) | 2006-05-18 |
JP4786945B2 (ja) | 2011-10-05 |
CN1755684B (zh) | 2010-05-05 |
EP1643384A2 (en) | 2006-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1755684B (zh) | 查询强制的索引 | |
US7107261B2 (en) | Search engine providing match and alternative answer | |
CN101727465B (zh) | 分布式列存储数据库索引建立、查询方法及装置与系统 | |
US9411889B2 (en) | Assigning document identification tags | |
US7984054B2 (en) | Representative document selection for sets of duplicate documents in a web crawler system | |
JP6006267B2 (ja) | 索引キーを使用して検索を絞込むシステムおよび方法 | |
CN1306439C (zh) | 建立查询的拖放技术 | |
CN1310175C (zh) | 搜索引擎管理系统和方法 | |
US7974981B2 (en) | Multi-value property storage and query support | |
CN1725220A (zh) | 统一的车间模型的时间标签方法 | |
US20120059838A1 (en) | Providing entity-specific content in response to a search query | |
US20040054652A1 (en) | Data filtering for adapting data delivery to diverse client devices | |
CN1596399A (zh) | 确定内容对象目录中的冗余 | |
CN1752978A (zh) | 用于控制由搜索引擎返回的页面的分级的系统和方法 | |
CN1596407A (zh) | 指纹数据库维护方法和系统 | |
US8005844B2 (en) | On-line organization of data sets | |
US20040006562A1 (en) | Method, system and program product for automatically retrieving documents | |
CN112612790B (zh) | 卡号配置方法、装置、设备及计算机存储介质 | |
GB2420882A (en) | Database synchronisation system | |
CN112202859A (zh) | 数据传输方法和数据库系统 | |
CN1774703A (zh) | 存储和检索内容的多种版本的多层高速缓冲存储机制 | |
CN1464426A (zh) | 网络服务语意注册系统及方法 |
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 | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150504 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20150504 Address after: Washington State Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC Address before: Washington State Patentee before: Microsoft Corp. |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100505 |
|
CF01 | Termination of patent right due to non-payment of annual fee |