Indexing Service

This is an old revision of this page, as edited by SmackBot (talk | contribs) at 23:21, 31 January 2011 (Dated {{Unreferenced section}} x 2{{More footnotes}}{{Citation needed}}. (Build p605)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Template:Infobox Windows component

Windows Indexing Service (originally called Index server) is a desktop search service included with Windows NT 4.0 Option Pack as well as Windows 2000 and later. It is an operating system level service that maintains an index of most of the files on a computer to improve searching performance on PCs and corporate computer networks. It updates indexes without user intervention. It is predecessor to Windows Search.

History

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, which includes Indexing Service 3.0.

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 7[citation needed] but is not installed or running by default.

Search interfaces

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 its 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:


<html>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-2">
<meta http-equiv="Content-Language" content="cs">
<head>
<title>PDF - Search Page</title>
</head>
<body>
<form action="default.asp" method="get">
    <input type="text" name="query">
    <input type="submit" value="Search">
</form>
<%
Dim strQuery   ' The text of our query
Dim objQuery   ' The index server query object
Dim rstResults ' A recordset of results returned from I.S.

strQuery = Request.QueryString("query") 'Server.URLEncode(Request.QueryString("query"))

If strQuery <> "" Then
    Set objQuery = Server.CreateObject("ixsso.Query")
    With objQuery
        .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"
    End With

    on error resume next

    Set rstResults = objQuery.CreateRecordset("nonsequential")

    If (Err.number <> 0) or rstResults.EOF Then
        Response.Write "Sorry. No results found."
    Else


%>
<table border="1">
<tr><th align="left">Filename</th><th>Size</th><th>Date</th><th>Title</th></tr>
<%Do While Not rstResults.EOF %>
<tr>
	<td align="left"><a href="<% = rstresults.fields("vpath") %>"><% = rstresults.fields("Filename") %> </a></td>
	<td><% = rstresults.fields("size") %></td>
	<td><% = rstresults.fields("write") %></td>
	<td><i><b><% = rstresults.fields("DocTitle") %> </b></i></td>
</tr>
<%     rstResults.MoveNext
       Loop %>
</table>
<%

    End If
    SET strQuery = Nothing
    Set objQuery = Nothing
    Set rstResults = Nothing
End If
%>
</body>
</html>

Restrictions

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.[1]

References

  1. ^ "INFO: Index Server Does Not Support Mounted Volumes". Retrieved 2007-09-16.