Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

186 lines
20 KiB

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>Microsoft Index Server Guide: Basic Administration</title>
<meta name="FORMATTER" content="Microsoft FrontPage 1.1">
<meta name="GENERATOR" content="Microsoft FrontPage 1.1">
</head>
<body bgcolor="#FFFFFF">
<!--Headerbegin--><p align=center><a name="TOP"><img src="onepix.gif" alt="Space" align=middle width=1 height=1></a> <a href="default.htm#Top"><img src="toc.gif" alt=" Contents" align=middle border=0 width=89 height=31></a> <a href="idq-vars.htm"><img src="previous.gif" alt="Previous" align=middle border=0 width=32 height=31></a> <a href="sechelp.htm"><img src="next.gif" alt="Next" align=middle border=0 width=32 height=31></a> </p>
<hr>
<!--Headerend--><p><a name="BasicAdministration"><font size=6><strong>Basic Administration</strong></font></a></p>
<p><!--Chaptoc--></p>
<blockquote>
<p><a href="adminhlp.htm#IDAScripts">IDA Scripts</a> <br>
<a href="adminhlp.htm#ListofVirtualRoots">List of Virtual Roots</a> <br>
<a href="adminhlp.htm#AddVRoot">Enabling Indexing of a Virtual Root</a> <br>
<a href="#SettingUpRemoteVirtualRoots">Setting Up a Remote Virtual Root</a><br>
<a href="adminhlp.htm#ForceScan">Forcing a Scan of a Virtual Root</a> <br>
<a href="adminhlp.htm#ForcingaMerge">Forcing a Merge</a> <br>
<a href="adminhlp.htm#MonitoringPerformance">Monitoring Performance</a> <br>
<a href="adminhlp.htm#UnfilteredFiles">Unfiltered Files</a> <br>
<a href="adminhlp.htm#LoggingQueries">Logging Queries</a> <br>
</p>
</blockquote>
<hr>
<!--ChaptocEnd--><p>Microsoft Index Server is designed to minimize administrative requirements. By default, every virtual root is indexed, but
indexing can be controlled on a per-root basis. Performance statistics can be retrieved by use of either the Performance
Monitor or HTTP.</p>
<hr>
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="IDAScripts">IDA Scripts</a></h1>
<p>Administrative requests are very similar to queries, except the parameters are stored in an .ida file instead of an .idq file. The
parameters available in an .ida file are:</p>
<div align=left>
<table border=1 cellpadding=5 cellspacing=0 width=100%>
<tr><th align=left valign=bottom><font size=2><strong>Parameter</strong></font></th><th align=left valign=bottom><font size=2><strong>Description</strong></font></th><th align=left valign=bottom><font size=2><strong>Optional</strong></font></th></tr>
<tr><td valign=top width=20%><font size=3><tt>CiCatalog</tt> </font></td><td valign=top width=70%><font size=2>Specifies location of catalog. If not found, default specified in registry is used.</font></td><td valign=top width=10%><font size=2>Yes</font></td></tr>
<tr><td valign=top width=20%><font size=3><tt>CiTemplate</tt></font></td><td valign=top width=70%><font size=2>Specifies template to use if administration operation is successful. Standard .idq error semantics
apply.</font></td><td valign=top width=10%><font size=2>No</font></td></tr>
<tr><td valign=top width=20%><font size=3><tt>CiAdminOperation</tt></font></td><td valign=top width=70%><font size=2>One of: UpdateRoots, GetState, ForceMerge, or ScanRoots. If not specified, defaults to GetState.</font></td><td valign=top width=10%><font size=2>Yes</font></td></tr>
<tr><td valign=top width=20%><font size=3><tt>CiLocale</tt></font></td><td valign=top width=70%><font size=2>Defines the locale used to issue the query. Standard HTML locale encoding supported.</font></td><td valign=top width=10%><font size=2>Yes</font></td></tr>
</table>
</div>
<p>You can also pass user-defined variables through in the same manner as .idq files.</p>
<p><strong>Note</strong>&#160;&#160;&#160;Some administrative operations can change the state of the index. Administrative operations are restricted based on an
<a href="glossary.htm#ACL">access control list (ACL)</a>. See the <a href="sechelp.htm#SecureAdmin">Security</a> page for more information on security.</p>
<p><strong>Note</strong>&#160;&#160;&#160;Do not put .ida files on a virtual root pointing to a remote Uniform Naming Convention (UNC) share.</p>
<hr>
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="ListofVirtualRoots">List of Virtual Roots</a></h1>
<p>To retrieve a list of virtual roots and their indexed state, you need only execute a special query. The results are returned in the
same manner as a standard query results page, and can be formatted using standard .htx templates. To retrieve the list of
virtual roots, set the <strong>CiScope</strong> parameter in an .idq file to be the string: VIRTUAL_ROOTS. The .idq syntax requires
<strong>CiRestriction</strong> be set to a non-null value, but a restriction such as #path <strong>*</strong> can be used to retrieve all roots.</p>
<p>The properties that can be retrieved from this query are all the standard file properties (path, virtual path, and so on) of the
directory to which the virtual root maps, plus one special property: <strong>metavrootused</strong>. This Boolean value is set to <strong>TRUE</strong> if the
root is indexed, <strong>FALSE</strong> if it is not. A sample administrative query is stored <a href="/srchadm/admin.htm">here</a>.</p>
<hr>
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="AddVRoot">Enabling Indexing of a Virtual Root</a></h1>
<p>To turn indexing of a virtual root on or off, you need only specify <tt>CiAdminOperation=UpdateRoots</tt> in the .ida file and send
one or two special variables in the HTTP GET command. The special variables are <tt>PROOT_</tt><em><tt>virtual root</tt></em> and
<tt>INDEX_</tt><em><tt>virtual root</tt></em>. </p>
<p>A variable with the name <tt>PROOT_</tt><em><tt>virtual root</tt></em> identifies the current mapping between virtual and physical root. The virtual
root is the variable name after the string <tt>PROOT_</tt> and the corresponding physical path is the value of the variable. For example,
a home directory pointing to E:\Wwwroot would be described by: <tt>PROOT_/ = e:\wwwroot</tt>.</p>
<p>If the second special variable, <tt>INDEX_</tt><em><tt>virtual root</tt></em> exists, then Index Server will turn indexing <em>on</em>. If this variable does not
exist, then indexing will be turned <em>off</em>. In the sample .htx file listing virtual roots, the <strong>metavrootused</strong> property primes a check
box named <tt>INDEX_</tt><em><tt>virtual root</tt></em>. This is the resulting <a href="/scripts/srchadm/admin.idq?">page</a>.</p>
<p>When changes are submitted, Index Server compares the new set of virtual roots with the corresponding existing entries and
makes the appropriate changes in the index. For each root, possible changes are:</p>
<ol>
<li>Enable indexing.</li>
<li>Modify the virtual or physical mapping.</li>
<li>Disable indexing.</li>
<li>Do nothing (if the new root state matches the existing index state).</li>
</ol>
<p>Changes of type (1) and (2) will cause files under the virtual root to be reindexed. Change (3) will remove files under the
virtual root from the index.</p>
<hr>
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="SettingUpRemoteVirtualRoots">Setting Up a Remote Virtual Root</a></h1>
<p>When specifying the logon ID for a remote virtual root, type both the domain name and the user name, separated by a
backslash (\):</p>
<p><em>domain\username</em></p>
<p>If you do not give the domain name, Microsoft Index Server will not index the remote virtual roots. Note that the domain name
may actually be the name of the computer, if the account is local to that computer.</p>
<p>User IDs associated with remote virtual-root setup must have interactive logon permission on the computer running Microsoft
Index Server. For example, if /<em>Vroot1</em> on <em>index_server</em> points to \\<em>Computername\Share\Folder1\Folder2</em> and the user ID
is <em>domain\user</em>, then <em>domain\user</em> must have interactive logon privilege on <em>index_server</em>. The simplest way to achieve this is
to add <em>domain\user</em> to the Guests group on <em>index_server</em>.</p>
<hr>
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="ForceScan">Forcing a Scan of a Virtual Root</a></h1>
<p>To force a scan of a virtual root, you need only specify <tt>CiAdminOperation=ScanRoots</tt> in the .ida file and send two special
variables in the HTTP GET command. The special variables are <tt>PROOT_</tt><em><tt>virtual root</tt></em> and <tt>SCAN_</tt><em><tt>virtual root</tt></em>. </p>
<p>A variable with the name <tt>PROOT_</tt><em><tt>virtual root</tt></em> identifies the current mapping between virtual and physical root. The virtual
root is the variable name after the string <tt>PROOT_</tt> and the corresponding physical path is the value of the variable. For example,
a home directory pointing to E:\Wwwroot would be described by: <tt>PROOT_/ = e:\wwwroot</tt>.</p>
<p>If the second special variable, <tt>SCAN_</tt><em><tt>virtual root</tt></em> exists and set to one of IncrementalScan<em><strong> </strong></em>or FullScan, then Index Server
will do the specified scan of the virtual directory. If this variable does not exist or set to NoScan, then no scanning will be
done. </p>
<p>The sample Scan.htx file lists all the virtual roots that are indexed and by default sets the <tt>SCAN_</tt><em><tt>virtual root</tt></em><em><strong><tt> </tt></strong></em>to NoScan.
See the <a href="scanhlp.htm">Scanning</a> page for more details on the sample ForceScan administration operation.</p>
<hr>
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="ForcingaMerge">Forcing a Merge</a></h1>
<p>The optimal index arrangement for queries is to have just a single master index (See the <a href="indexhlp.htm">Indexing</a> page for more details on
indexing). You can force the index to that state by running an .ida script with <tt>CiAdminOperation=ForceMerge</tt>.</p>
<p><strong>Note</strong>&#160;&#160;&#160;Master merge is potentially a long, CPU-intensive activity. Query execution may visibly slow during master merge.
Consider displaying an extra confirmation page before running the script itself.</p>
<hr>
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="MonitoringPerformance">Monitoring Performance</a></h1>
<p>There are two ways to monitor performance of Index Server: by using Performance Monitor, or by running an .ida script. The
information available is nearly identical, but the method of retrieval differs. Both solutions can be used locally or from a remote
client. Performance Monitor has the advantage of automatic refresh, plus graphing and logging capabilities. The .ida script
method offers more flexible .htx formatting of the output and the ability to be viewed from a client running an operating system
other than Windows.</p>
<p>No setup is required to use the Windows NT Performance Monitor. For the IDA method, you must create an .ida file with
<tt>CiAdminOperation=GetState</tt>. A <a href="/scripts/srchadm/state.ida?">sample page</a> has been provided. The table below lists the .htx variables available for
statistics. Variables starting with <strong>CiAdminIndex</strong> are in the <strong>Content Index</strong> performance object. Variables starting with
<strong>CiAdminCache</strong> are in the <strong>Http Content Index</strong> object.</p>
<table border=1 cellpadding=5 cellspacing=0 width=100%>
<tr><th align=left valign=bottom width=30%><font size=2><strong>.htx Variable</strong></font></th><th align=left valign=bottom width=15%><font size=2><strong>Performance
Monitor field</strong></font></th><th align=left valign=bottom width=55%><font size=2><strong>Description</strong></font></th></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminCacheActive</code></font></td><td width=15%><font size=2>Active queries</font></td><td width=55%><font size=2>Number of queries being executed.</font></td></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminCacheCount</code></font></td><td width=15%><font size=2>Cache items</font></td><td width=55%><font size=2>Number of cached queries.</font></td></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminCacheHits</code></font></td><td valign=top width=15%><font size=2>% Cache hits</font></td><td valign=top width=55%><font size=2>Percentage of HTTP requests that use an existing cached query.</font></td></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminCacheMisses</code></font></td><td width=15%><font size=2>% Cache misses</font></td><td width=55%><font size=2>Percentage of HTTP requests that execute a new query.</font></td></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminCachePending</code></font></td><td width=15%><font size=2>Current requests
queued</font></td><td width=55%><font size=2>Number of pending queries waiting for execution.</font></td></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminCacheRejected</code></font></td><td width=15%><font size=2>Total requests
rejected</font></td><td width=55%><font size=2>Number of queries rejected because the query engine was too busy.</font></td></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminCacheTotal</code></font></td><td width=15%><font size=2>Total queries</font></td><td width=55%><font size=2>Number of queries executed since the Web server was started.</font></td></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminIndexCountDeltas</code></font></td><td valign=top width=15%><font size=2>(not applicable)</font></td><td valign=top width=55%><font size=2>Number of documents that have been indexed or deleted since the last </font><a href="indexhlp.htm#MasterMerge"><font size=2>master
merge</font></a><font size=2>.</font></td></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminIndexCountFiltered</code></font></td><td valign=top width=15%><font size=2># Documents
filtered</font></td><td valign=top width=55%><font size=2>Number of documents filtered since Index Server was started.</font></td></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminIndexCountPersIndex</code></font></td><td valign=top width=15%><font size=2>Persistent indexes</font></td><td valign=top width=55%><font size=2>Count of </font><a href="indexhlp.htm#PersistentIndex"><font size=2>shadow indexes and master indexes</font></a><font size=2> in catalog.</font></td></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminIndexCountQueries</code></font></td><td valign=top width=15%><font size=2>Running queries</font></td><td valign=top width=55%><font size=2>Count of queries with open </font><a href="glossary.htm#Cursor"><font size=2>cursors</font></a><font size=2> against the catalog. Will differ from the
number of active queries in the cache because some cached queries may be
enumerated (nonindexed), and some quiescent cached queries may still hold
cursors open. </font></td></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminIndexCountToFilter</code></font></td><td valign=top width=15%><font size=2>Files to be filtered</font></td><td valign=top width=55%><font size=2>Number of documents that have been added or modified since the last time
they were filtered.</font></td></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminIndexCountTotal</code></font></td><td valign=top width=15%><font size=2>Total # documents</font></td><td valign=top width=55%><font size=2>Number of documents in the catalog.</font></td></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminIndexCountUnique</code></font></td><td valign=top width=15%><font size=2>Unique Keys</font></td><td valign=top width=55%><font size=2>Number of unique words in the catalog. Updated only after a </font><a href="indexhlp.htm#MasterMerge"><font size=2>master merge</font></a><font size=2>.</font></td></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminIndexCountWordlists</code></font></td><td valign=top width=15%><font size=2>Word list</font></td><td valign=top width=55%><font size=2>Count of </font><a href="indexhlp.htm#WordLists"><font size=2>word lists</font></a><font size=2> in catalog.</font></td></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminIndexMergeProgress</code></font></td><td valign=top width=15%><font size=2>Merge progress</font></td><td valign=top width=55%><font size=2>Percent of current </font><a href="indexhlp.htm#Merging"><font size=2>merge</font></a><font size=2> completed. Will be 100% when no merge is in
progress.</font></td></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminIndexSize</code></font></td><td valign=top width=15%><font size=2>Index size (in
megabytes)</font></td><td valign=top width=55%><font size=2>Size in megabytes of index. Includes both in-memory </font><a href="indexhlp.htm#WordLists"><font size=2>word lists</font></a><font size=2> and on-disk
</font><a href="indexhlp.htm#PersistentIndex"><font size=2>shadow indexes and master indexes</font></a><font size=2>. Does not include property cache.</font></td></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminIndexStateAnnealingMerge</code></font></td><td valign=top width=15%><font size=2>n/a</font></td><td valign=top width=55%><font size=2>True if an </font><a href="indexhlp.htm#AnnealingMerge"><font size=2>annealing merge</font></a><font size=2> is in progress.</font></td></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminIndexStateMasterMerge</code></font></td><td valign=top width=15%><font size=2>n/a</font></td><td valign=top width=55%><font size=2>True if a </font><a href="indexhlp.htm#MasterMerge"><font size=2>master merge</font></a><font size=2> is in progress.</font></td></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminIndexStateScanRequired</code></font></td><td valign=top width=15%><font size=2>n/a</font></td><td valign=top width=55%><font size=2>True if the catalog needs to be </font><a href="errhandl.htm"><font size=2>rebuilt</font></a><font size=2>, which happens automatically when
appropriate.</font></td></tr>
<tr><td valign=top width=30%><font size=3><code>CiAdminIndexStateShadowMerge</code></font></td><td valign=top width=15%><font size=2>n/a</font></td><td valign=top width=55%><font size=2>True if a </font><a href="indexhlp.htm#ShadowMerge"><font size=2>shadow merge</font></a><font size=2> is in progress.</font></td></tr>
</table>
<hr>
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="UnfilteredFiles">Unfiltered Files</a></h1>
<p>Files that are corrupted or files that could not be filtered because of problems in a <a href="filtrhlp.htm#FilterDLLs">filter DLL</a> are called <em>unfiltered</em> files and can
be viewed by issuing the <a href="/scripts/srchadm/unfilt.idq?">administrative command</a> for unfiltered files. This command issues the query: <tt>@Unfiltered=true</tt>.
The <a href="idqhelp.htm#namesection">names section</a> of the .idq file must contain:</p>
<blockquote>
<pre>[Names]
Unfiltered (DBTYPE_BOOL) = 49691c90-7e17-101a-a91c-08002b2ecda9 7</pre>
</blockquote>
<p>This property is not in the list of built-in properties, to prevent users from making this request. Unlike the other queries
described here, the unfiltered-files query is not restricted to administrators. It can be controlled by placing an ACL on the .idq
file that defines the unfiltered property.</p>
<p><strong>Note&#160;&#160;&#160;</strong>The unfiltered property connot be used in conjunction with other properties. A query such as <tt>@Unfiltered=true &amp;
@write &gt;= -1d</tt> will return no results.</p>
<hr>
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="LoggingQueries">Logging Queries</a></h1>
<p>Queries are logged through the standard Internet Information Server logging mechanism.</p>
<!--Footerbegin--><hr>
<p align=center><a href="default.htm#Top"><img src="toc.gif" alt=" Contents" align=middle border=0 width=89 height=31></a> <a href="idq-vars.htm"><img src="previous.gif" alt="Previous" align=middle border=0 width=32 height=31></a> <a href="#TOP"><img src="up_end.gif" alt="To Top" align=middle border=0 width=32 height=31></a> <a href="sechelp.htm"><img src="next.gif" alt="Next" align=middle border=0 width=32 height=31></a></p>
<hr>
<p align=center><em>&#169; 1996 by Microsoft Corporation. All rights reserved.<!--Footerend--></em></p>
</body>
</html>