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.
 
 
 
 
 
 

157 lines
14 KiB

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<title>Microsoft Index Server Guide: Catalogs</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="sechelp.htm"><img src="previous.gif" alt="Previous" align=middle border=0 width=32 height=31></a> <a href="reghelp.htm"><img src="next.gif" alt="Next" align=middle border=0 width=32 height=31></a> </p>
<hr>
<!--Headerend--><p align=left><a name="Catalogs"><font size=6><strong>Catalogs</strong></font></a></p>
<p align=left><!--Chaptoc--></p>
<blockquote>
<p><a href="cathlp.htm#TheDefaultCatalog">The Default Catalog</a> <br>
<a href="cathlp.htm#multiple">Multiple Catalogs</a> <br>
<a href="cathlp.htm#MovingandRemovingaCatalog">Moving and Removing a Catalog</a> <br>
<a href="cathlp.htm#PhysicalProperties">Physical Properties</a> <br>
</p>
</blockquote>
<hr>
<!--ChaptocEnd--><p>A <em>catalog</em> is the highest-level unit of organization in Microsoft Index Server. Each catalog is a completely self-contained unit,
containing an index and cached properties for one or more scopes (virtual roots). In this version of Index Server, queries
cannot span multiple catalogs.</p>
<hr>
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="TheDefaultCatalog">The Default Catalog</a></h1>
<p>The initial catalog location is determined during setup and stored in the <a href="reghelp.htm#IsapiDefaultCatalogDirectory">IsapiDefaultCatalogDirectory</a> registry entry. If the
<a href="idq-vars.htm#CiCatalog"><strong>CiCatalog</strong></a> parameter is not specified in an .idq file, then this default catalog is used. Intially, the default catalog contains an
index of all virtual roots with read access, but the scope of the catalog can be <a href="adminhlp.htm#AddVRoot">modified</a> through administrative pages.</p>
<hr>
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="multiple">Multiple Catalogs</a></h1>
<p>There are two reasons to create more than one catalog: to distribute queries, and to support virtual servers. Because it is
impossible to create a query that spans more than one catalog, careful consideration of the consequences must be made before
creating multiple catalogs. The ability to query &#147;everything&#148; is lost. Use of default catalog support is also impaired: no support
for multiple IP address-specific <em>default</em> catalogs is provided.</p>
<p>Physically dividing the set of virtual roots between a number of catalogs will improve query performance, but only if most
queries are restricted to a subscope (one or more virtual roots) of the Web site. This improvement occurs because the number
of false hits (hits outside the query scope) will be reduced.</p>
<h3>Creating an Additional Catalog</h3>
<h4>To create a catalog</h4>
<ol>
<li>Create a directory named Catalog.wci at the desired location. </li>
<li>Set the appropriate <a href="sechelp.htm#CatalogPerm">catalog permissions</a>.</li>
<li>Then make appropriate modifications to the <a href="idq-vars.htm#CiCatalog"><strong>CiCatalog</strong></a> parameter of .idq files to point to that location.</li>
</ol>
<p>For example, if you put the catalog in D:\Vdom2\Catalog.wci, the <strong>CiCatalog</strong> is set to D:\Vdom2. The <strong>CiCatalog</strong>
specification should not include the Catalog.wci directory itself. The initial query against the catalog will start the indexing
process. You may want to <a href="adminhlp.htm#AddVRoot">modify the set of virtual roots</a> covered by the new catalog.</p>
<h3>Associating a Catalog with a Virtual Server</h3>
<p>By default, a catalog is not associated with a specific virtual server, and only virtual roots <em>without</em> a specific IP address are
added to the catalog. To associate a catalog with a specific virtual server, add an entry under the <a href="reghelp.htm#MaxFilesizeMultiplier">IsapiVirtualServerCatalogs</a>
subkey. The name of the value is the IP address of the virtual server, and the value is the catalog location. For example, a
catalog located in the root of drive G: that contains virtual roots accessible only from IP address 123.45.67.89 would look
like: ...\CurrentControlSet\Control\ContentIndex\IsapiVirtualServerCatalogs\123.45.67.89 = G:\. After making this registry
change, stop and restart Internet Information Server. Then, issue a query against the catalog for 123.45.67.89.</p>
<p>The previous procedure will add virtual roots (specific to the indicated virtual server) to the set of scopes covered by the new
catalog. All virtual roots without a specific IP address will be available as well. Note that by default, common roots are
indexed in all catalogs. Also, be sure to update the .idq and .ida files if you have changed them.</p>
<h3>Multiple Catalogs for Multiple Virtual Servers</h3>
<p>The following example shows how to set up multiple catalogs for a configuration containing multiple virtual servers. </p>
<p>In the following example, assume that you want to set up multiple catalogs for the following scenario:</p>
<ul>
<li><p align=left>The IP address of the virtual server is 123.45.67.89.</p>
</li>
<li><p align=left>The following virtual roots are set up for 123.45.67.89</p>
<table border=1 cellpadding=5 cellspacing=0 width=75%>
<tr><th align=left valign=bottom width=10%><font size=2>Virtual Root </font></th><th align=left valign=bottom width=33%><font size=2>Physical Path</font></th><th align=left valign=bottom width=15%><font size=2>Permissions</font></th></tr>
<tr><td valign=top width=10%><font size=2>/</font></td><td valign=top width=33%><font size=2>D:\Vserver2\Root </font></td><td valign=top width=15%><font size=2>Read</font></td></tr>
<tr><td valign=top width=10%><font size=2>/Scripts1</font></td><td valign=top width=33%><font size=2>D:\Vserver2\Scripts</font></td><td valign=top width=15%><font size=2>Execute</font></td></tr>
<tr><td valign=top width=10%><font size=2>/Reports</font></td><td valign=top width=33%><font size=2>D:\Vserver2\Reports</font></td><td valign=top width=15%><font size=2>Read </font></td></tr>
</table>
</li>
</ul>
<ul>
<li><p align=left>Microsoft Index Server data will be put in the directory D:\Vserver2_index. Better performance can be achieved by
having Microsoft Index Server data on a different drive than the drive that contains the corpus, but for illustration
purposes this example puts it in the same drive.</p>
</li>
<li><p align=left>Sample files installed by Microsoft Index Server will be copied and modified to work with the virtual server
123.45.67.89.</p>
</li>
</ul>
<h4>To set up multiple catalogs for multiple virtual servers</h4>
<ol>
<li><p align=left>Create a directory D:\Vserver2_index\Catalog.wci . If D: is a Windows&#160;NT File System (NTFS) drive, set an ACL on
it giving full access to SYSTEM and Administrators accounts only. For the highest security, Microsoft recommends
installing Index Server data on an NTFS drive.</p>
</li>
<li><p align=left>Add an entry in the registry under the key<br>
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\contentindex\<br>
ISAPIVirtualServerCatalogs\123.45.67.89=d:\vserver2_index<br>
<br>
Note that key value does not include the directory Catalog.wci.</p>
</li>
<li><p align=left>Copy all the query forms(.htm) files from the default installation to D:\Vserver2\Root\Samples\Search. (Create the
directory hierarchy if necessary.)</p>
</li>
<li><p align=left>Copy all the query script and administration files (.idq , .ida, and .htx) files from the default installation to
D:\Vserver2\Scripts\Samples\Search. (Create the directory hierarchy if necessary.)</p>
</li>
<li><p align=left>Modify the <strong>CiCatalog</strong> variable specification in all the .idq and .ida files in D:\Vserver2\Scripts\Samples\Search to point
to D:\Vserver2_index. Make sure it does not have any comments in it. (It should look like
<code>CiCatalog=d:\vserver2_index</code>. Again note that catalog.wci is not included in the specification).</p>
</li>
<li><p align=left>Modify the <strong>CiTemplate</strong> parameter in the .idq and .ida files to point to /Scripts1/samples/search. Note the change from
&#147;Scripts&#148; to &#147;Scripts1&#148; for the virtual root.</p>
</li>
<li><p align=left>Modify the .htm files in D:\Vserver2\Root\Samples\Search to point to the appropriate .idq/.ida files. You may have to
change the path from &#147;/Scripts/Samples/Search&#148; to &#147;/Scripts1/Samples/Search&#148;.</p>
</li>
<li><p align=left>Issue a query by connecting to http://123.45.67.89/samples/search/query.htm. This will start indexing for the virtual
server 123.45.67.89</p>
</li>
</ol>
<p>You can of course customize the query forms to restrict access to specific scopes. You may also have to modify the
administration forms separately.</p>
<hr>
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="MovingandRemovingaCatalog">Moving and Removing a Catalog</a></h1>
<p>It is safe to move a Catalog.wci directory to a new location. Similarly, to delete a catalog you need only delete the Catalog.wci
directory. It is a good idea to update the relevant registry entries (<a href="reghelp.htm#IsapiDefaultCatalogDirectory">IsapiDefaultCatalogDirectory</a> and
<a href="reghelp.htm#MaxFilesizeMultiplier">IsapiVirtualServerCatalogs</a>) as well. Internet Information Server or Peer Web Services must be stopped before you remove
or move catalogs. It is recommended that you review all your .idq files to make sure there are no references to nonexistent
catalogs.</p>
<hr>
<h1><a href="#TOP"><img src="up.gif" alt="To Top" align=middle border=0 width=14 height=11></a><a name="PhysicalProperties">Physical Properties</a></h1>
<p>The catalog is physically stored in a user-specified location. A directory named Catalog.wci is created there. Index server
creates a number of files in this directory, including: </p>
<div align=left>
<table border=1 cellpadding=5 cellspacing=0 width=100%>
<tr><th align=left valign=bottom width=15%><font size=2>File</font></th><th align=left valign=bottom width=85%><font size=2>Purpose</font></th></tr>
<tr><td valign=top width=15%><font size=3><tt>000</tt><em><tt>nnnn</tt></em><tt>.prp</tt></font></td><td valign=top width=85%><font size=2>Holds cached properties. The name is the version of the property cache. Each modification to the property-cache
schema increments this number by one.</font></td></tr>
<tr><td valign=top width=15%><font size=3><tt>0001</tt><em><tt>nnnn</tt></em><tt>.ci</tt></font></td><td valign=top width=85%><a href="indexhlp.htm#ShadowIndex"><font size=2>Shadow</font></a><font size=2> and </font><a href="indexhlp.htm#MasterIndex"><font size=2>master</font></a><font size=2> indexes. Each index has a unique number <em>nnnn</em>.</font></td></tr>
<tr><td valign=top width=15%><font size=3><tt>0001</tt><em><tt>nnnn</tt></em><tt>.dir</tt></font></td><td valign=top width=85%><font size=2>Directory used to quickly search the similarly named shadow index or master index.</font></td></tr>
<tr><td valign=top width=15%><font size=3><tt>cicat.hsh</tt></font></td><td valign=top width=85%><font size=2>Quickly converts a path into an internal identifier used throughout the index.</font></td></tr>
<tr><td valign=top width=15%><font size=3><tt>CiCL0001.*</tt></font></td><td valign=top width=85%><font size=2>Contains a log of files that need to be </font><a href="filtrhlp.htm"><font size=2>filtered</font></a><font size=2>.</font></td></tr>
<tr><td valign=top width=15%><font size=3><tt>CiFL</tt><em><tt>nnnn</tt></em><tt>.*</tt></font></td><td valign=top width=85%><font size=2>Maps documents to the most recent index for a given document.</font></td></tr>
<tr><td valign=top width=15%><font size=3><tt>CiPS0000.*</tt></font></td><td valign=top width=85%><font size=2>Describes the record format of the property cache.</font></td></tr>
<tr><td valign=top width=15%><font size=3><tt>CiPT0000.*</tt></font></td><td valign=top width=85%><font size=2>Maps ActiveX property descriptors to internal identifier.</font></td></tr>
<tr><td valign=top width=15%><font size=3><tt>CiSL0001.*</tt></font></td><td valign=top width=85%><font size=2>Contains a log of in-use files that need to be </font><a href="filtrhlp.htm"><font size=2>filtered</font></a><font size=2>.</font></td></tr>
<tr><td valign=top width=15%><font size=3><tt>CiSP0000.*</tt></font></td><td valign=top width=85%><font size=2>Contains a list of physical scopes covered by this index.</font></td></tr>
<tr><td valign=top width=15%><font size=3><tt>CiST0000.*</tt></font></td><td valign=top width=85%><font size=2>Maps security </font><a href="glossary.htm#ACL"><font size=2>Access Control Lists (ACLs)</font></a><font size=2> to internal identifier.</font></td></tr>
<tr><td valign=top width=15%><font size=3><tt>CiVP0000.*</tt></font></td><td valign=top width=85%><font size=2>Contains a mapping between physical and virtual paths.</font></td></tr>
<tr><td valign=top width=15%><font size=3><tt>Index.*</tt></font></td><td valign=top width=85%><font size=2>Master list of indices.</font></td></tr>
</table>
</div>
<p>The Catalog.wci directory, and everything under it, will not be indexed by Index Server even if it is accessible through a virtual
root of the Web site.</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="sechelp.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="reghelp.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>