Windows indexing service is a service in the Windows NT (Separately in free Windows NT Option Pack), Windows 2000 and later Windows NT-family of operating systems that allows searching on PCs and corporate computer networks. It is an operating system level service that maintains an index of most of the files on a computer and updates them without user intervention.
The first incarnation of the indexing service was shipped in August 1996 as a content search system for Microsoft's web server software, Internet Information Services. Its origins, however, date further back to Microsoft's Cairo operating system project, with the component serving as the Content Indexer for the Object File System. Cairo was eventually shelved, and with it OFS, but the content indexing capabilities would go on to be included as a standard component of later Windows desktop and server operating systems, starting with Windows 2000.
In Windows Vista, the content indexer was replaced with the Windows Search indexer which is enabled by default. Indexing Service is still included with Windows Vista but is not installed or running by default.
Comprehensive searching is available after initial building of the index, which can take up to hours or days, depending on the size of the specified directories, the speed of the hard drive, user activity, indexer settings and other factors.
Once the indexing service has been turned on and has built its index it can be searched in three ways.
The search option available from the Start Menu will use the indexing service if it is enabled and will even accept complex queries. Searching using Indexing service works also on UNC paths and/or mapped network drives if the sharing server indexes appropriate directory and is aware of it's sharing. Queries can also be performed using either the Indexing Service Query Form in the Computer Management application or alternatively using third party interface applications such as 'Aim at File' or 'Grokker Desktop'.
Indexing Service can also be easily accessed using popular scripting languages such as VBScript - see ASP sample of Web based interface to pdf archive below:
<% Dim strQuery ' The text of our query Dim objQuery ' The index server query object Dim rstResults ' A recordset of results returned from I.S.
PDF - Search Page
strQuery = Request.QueryString("query") 'Server.URLEncode(Request.QueryString("query"))
If strQuery <> "" Then
Set objQuery = Server.CreateObject("ixsso.Query")
.Catalog = "pdf" 'name of catalogue - CHANGE to your catalogue name. Also make sure it's assigned to appropriate web !!!
.Query = strQuery
.MaxRecords = 100
.SortBy = "rank [d]".Columns = "filename, vpath, size, write, DocTitle"
on error resume next
Set rstResults = objQuery.CreateRecordset("nonsequential")
If (Err.number <> 0) or rstResults.EOF Then
Response.Write "Sorry. No results found."
|"><% = rstresults.fields("Filename") %>||<% = rstresults.fields("size") %>||<% = rstresults.fields("write") %>||<% = rstresults.fields("DocTitle") %>|
SET strQuery = Nothing
Set objQuery = Nothing
Set rstResults = NothingEnd If %>
The following restriction applies to version 2.0 of Index Server. When running Indexing Service, Index Server does not detect changes to a catalog if the data is located on a mounted partition. Indexing Service does not support mounted volumes because of limitations in the underlying file system notification systems.