187 lines
20 KiB
HTML
187 lines
20 KiB
HTML
<!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>   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>   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>   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   </strong>The unfiltered property connot be used in conjunction with other properties. A query such as <tt>@Unfiltered=true &
|
|
@write >= -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>© 1996 by Microsoft Corporation. All rights reserved.<!--Footerend--></em></p>
|
|
</body>
|
|
|
|
</html>
|
|
|
|
|
|
|
|
|
|
|
|
|