Source Code for http://authors.aspalliance.com/brettb/IndexServerCompanion.asp


<html>
<!--Begin ASPAlliance Document Header-->

<head>
<title>The Index Server Companion</title>
<link type="text/css" rel="stylesheet" href="ASPKitchen.css" />
<meta name="description" content="A look at the Index Server Companion - a product that allows Microsoft Index Server to index content from remote websites and ODBC databases.">
<meta name="keywords" content="index server, site server, search, searching, unix, remote, database, odbc">
</head>
<!--Begin ASPAlliance Document Article-->

<body topmargin="0" leftmargin="0">
<div align="center"><center>

<script language="JavaScript">
function SubmitSearch() {

document.frmSearch.submit();

}

</script>

<table border="0" cellpadding="0" width="100%" cellspacing="0">
<tr>
<td width="30%" bgcolor="#CC0000"><a href="http://authors.aspalliance.com/"><img
src="images/ASPAllianceLogo.gif" width="142" height="57" alt="ASPAlliance" border="0"></a></td>
<td width="40%" bgcolor="#CC0000" align="center"><!-- 468x60 Banner Ad Tag Start -->
<iframe src="http://ads.aspalliance.com/displayad.aspx?t=1&m=1" height="60" width="468" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"><script type="text/javascript" src="http://ads.aspalliance.com/displayad.aspx?t=1&m=1&target=_parent&js=1"></script></iframe>
<!-- 468x60 Banner Ad Tag End --></td>
<td width="30%" bgcolor="#CC0000" align="right" class="HeaderBar"><font size="4">ASP Kitchen</font>  <br><form name="frmSearch" method="POST" action="http://www.brettb.com/ASPAllianceSearch.asp">Search: <input type="text" name="Query"> <a href="javascript:SubmitSearch()">Go</a>  </form>
</td>
</tr>
<tr>
<td colspan="3" bgcolor="#CCCCCC" style="BORDER: #270D30 1px solid;"><div class="menu-top"
id="TopMenu" align="left"><a href="Default.asp" title="Home"><p>Home</a> | <a
href="ClassicASPArticles.asp" title="ASP Articles">ASP Articles</a> | <a
href="ASP.NetArticles.aspx" title="ASP.NET Articles">ASP.NET Articles</a> | <a
href="Tools.asp" title="Tools">Tools</a> | <a
href="TableOfContents.asp" title="Table Of Contents">Table Of Contents</a> | <a href="What'sNew.aspx" title="What's New">What's
New</a></p>
</div></td>
</tr>
</table>
</center></div>

<table border="0" cellpadding="8" width="100%" cellspacing="0">
<tr>
<td valign="top" align="left"><!--start article--> <p><a title="Back to the ASP Kitchen" href="Default.asp">ASP
Kitchen</a>: <a href="ClassicASPArticles.asp">Classic ASP Articles</a>: The Index Server
Companion</p>
<h1>The Index Server Companion</h1>
<p>This article describes the <a
href="http://www.winnershtriangle.com/w/Products.IndexServerCompanion.asp" target="_blank">Index
Server Companion</a>, a Windows application I have created that allows Microsoft Index
Server to index content from remote websites and ODBC databases.</p>
<h2>The Problem</h2>
<p>Index Server is a great product! On the administrative side of things, it is easy to
install, performance is good, and once installed maintenance tasks are minimal. The
development of search applications using ASP is also made fairly straightforward through
the use of the Query and Utility server components.</p>
<p>The main limitation of Index Server is that it can really only be used to index content
hosted on servers on the same machine or network as the machine hosting the Index Server
service. Although it is possible to set up a share to a Unix/Linux Apache webserver using
a file sharing solution such as SAMBA, this isn't always satisfactory because Index Server
is not case sensitive with respect to filenames, so this can cause problems when
displaying search results.</p>
<p>Another issue is that it can be a chore to prevent Index Server from indexing certain
content on a server. Unlike a web robot, it has no concept of the <a
href="http://www.robotstxt.org/wc/norobots.html">Robots Exclusion Standard specification</a>
(i.e. robots.txt files) and is unaffected by the 'robots' meta tag.</p>
<h2>The Solution</h2>
<p>Retrieving and indexing content from a web server by use of a web robot is the
solution. The web robot is able to mimic a web browser, starting at one page in the site
and traversing the links in the site until it has retrieved all of the pages of the site.
The robot will potentially be able to retrieve content from any webserver, regardless of
the platform it is hosted on. Two products that allow you to do this are <a
href="#Microsoft Site Server 3.0">Microsoft's Site Server 3.0</a> and the author's own <a
href="#Index Server Companion">Index Server Companion</a>.</p>
<h2><a name="Microsoft Site Server 3.0"></a>Microsoft Site Server 3.0</h2>
<p>Microsoft's Site Server 3.0 software suite has a <em>Search</em> application that
enhances Index Server by allowing you to (amongst other things) retrieve and index content
from remote websites using an integrated web robot. For an overview of Site Server 3.0
Search, take a look at an <a href="http://www.ariadne.ac.uk/issue19/nt/">article I wrote
for ariadne.ac.uk</a>. Unfortunately Site Server 3.0 Search has a few shortcomings,
including: <ul>
<li>Site Server 3.0 isn't the easiest of applications to install.</li>
<li>The product wasn't really designed for Windows 2000 Server.</li>
<li>It doesn't appear that the product is still in active development.</li>
<li>It isn't very useful if your websites are hosted by a third party, and they don't have
Site Server 3.0 installed.</li>
<li>Site Server 3.0 costs a lot of money, which cannot always be justified if you only want
to use the <em>Search</em> application of the software suite.</li>
</ul>
<h2><a name="Index Server Companion"></a>Index Server Companion</h2>
<p>The Index Server Companion is the cost effective method of <a href="#Web Content">retrieving
content from remote webservers</a> for Index Server to index. Furthermore it also allows <a
href="#Databases">retrieval of content from ODBC databases</a> which can be subsequently
indexed by Index Server.</p>
<h3>Features</h3>
<p>The main features of the Index Server Companion are: <ul>
<li>Enables Index Server to allow searching of potentially any web server or ODBC compliant
database.</li>
</ul>
<ul>
<li>Integrated web robot extracts content from websites. Includes support for robots.txt
files and robots meta tags. Robot can negotiate sites using HTML Frames. Optional mode
allows QueryStrings to be treated as distinct URLs (e.g. treat <a
href="http://www.aspalliance.com/brettb/WebJobMarket.asp?Skill=ASP" target="_blank">http://www.aspalliance.com/brettb/WebJobMarket.asp?Skill=ASP</a>
as being a distinct URL from <a
href="http://www.aspalliance.com/brettb/WebJobMarket.asp?Skill=JSP" target="_blank">http://www.aspalliance.com/brettb/WebJobMarket.asp?Skill=JSP</a>).</li>
</ul>
<ul>
<li>Ability to retrieve binary files from servers, including Adobe Acrobat PDF, Microsoft
Office documents and even images.</li>
</ul>
<ul>
<li>Support for full or incremental project updates of both web and database content,
meaning that Index Server only has to re-index content that has changed.</li>
</ul>
<ul>
<li>Configuration of the Index Server Companion is through the editing of a plain text
configuration file.</li>
</ul>
<ul>
<li>Index Server Companion can be run from the command line, and scheduled using the Windows
Task Scheduler.</li>
</ul>
<ul>
<li>Full reporting of activity to an external plain text log file.</li>
</ul>
<ul>
<li>Flexible output options mean that administrative access to Index Server is not
necessarily required.</li>
</ul>
<ul>
<li>Facility for creating a basic table of contents page for the sites that are crawled [<a
href="http://www.winnershtriangle.com/w/Site.Map.asp" target="_blank">sample from my own
website</a>, <a href="http://www.myCDE.com/SiteMap.asp" target="_blank">sample from
myCDE.com</a>, <a href="http://www.lachesis.biz/SiteMap.asp" target="_blank">sample from
Lachesis.biz</a>].</li>
</ul>
<ul>
<li>Facility for creating a site summary page that can be used to optimise sites for search
engines, by showing what keywords are used on a site, the <title> tags used by each
page etc. The site summary page shows:<ul>
<li>The top 40 most used keywords listed in the keywords meta tags in all of the pages
crawled.</li>
<li>The body of the summary page contains the following from the pages encountered in the
web crawl:<ul>
<li>A list of page titles.</li>
<li>A list of page headings (H1 to H3 inclusive).</li>
<li>A list of bold (and strong) text.</li>
<li>A list of external hyperlinks in the site.</li>
<li>A list of italicised text.</li>
<li>A selection of relevant paragraph text. Paragraphs are assumed to be relevant if they
contain one or more of the 40 most frequently used keywords.</li>
<li>A list of page description meta tags.</li>
<li>A list of page keywords.</li>
<li>A list of page description meta tags hyperlinked back to the URL from which each
description was extracted.</li>
<li>A list of page keywords hyperlinked back to the URL from which it was extracted.</li>
</ul>
</li>
</ul>
</li>
</ul>
<ul>
<li>Fully documented VBScript examples show how to make use of the Index Server Companion in
ASP pages.</li>
</ul>
<ul>
<li>Detailed documentation in Microsoft's HTML Help format.</li>
</ul>
<ul>
<li>Fully documented Perl source code.</li>
</ul>
<ul>
<li>Access to product updates and technical support.</li>
</ul>
<p align="center"><img src="images/ISC_HTMLHelp_Small_Screenshot.png" width="381"
height="290"
alt="The Index Server Companion contains fully searchable documentation in Microsoft's HTML Help format"><br>
Figure 1. The Index Server Companion contains fully searchable documentation in
Microsoft's HTML Help format.</p>
<h3>System Requirements</h3>
<p>The Index Server Companion can be used on a machine running Microsoft Windows 95 or any
subsequent version of Windows. Windows NT 4.0 or Windows 2000 is recommended.</p>
<p>It also (of course) requires a server running either Index Server on Windows NT 4.0
Server, or the Indexing Service on Windows 2000. Note that Index Server Companion <em>does
not</em> have to be run from the machine on which the Index Server is installed.</p>
<h3>Configuring and Running the Index Server Companion</h3>
<p>The Index Server Companion executable file or Perl script needs to be run from the
Windows command line. Fortunately there is only a single mandatory parameter, which tells
the script which configuration file to use. So to run the Index Server Companion for the
Sample Project, an MSDOS Command Prompt is opened in the folder where the Index Server
Companion files are installed installed and the following is typed:</p>
<p>IndexServerCompanion.exe --c="SampleProject/SampleProject.ini"</p>
<p>It is of course possible to run the Index Server Companion from .bat scripts, which can
then be scheduled using the AT command or the Windows Task Scheduler. This makes it
straightforward to update the Index Server's index of website and database content at
specific times and frequencies.</p>
<p>The configuration file (in this instance it is called SampleProject.ini) is a plain
text file containing a number of settings. <ul>
<li><a
href="http://www.brettb.com/ASPAlliance/IndexServerCompanion/Sample_Configuration_File.txt"
target="_blank">View a sample configuration file</a>.</li>
</ul>
<p>The Index Server Companion is supplied with full documentation in Microsoft's HTML Help
format that describes each of the configuration settings.</p>
<p>When the script is run, the Index Server Companion will display details of its status
in the Command Prompt window. A detailed log file is also created. <ul>
<li><a href="http://www.brettb.com/ASPAlliance/IndexServerCompanion/Sample_Log_File.txt"
target="_blank">View a sample log file</a>.</li>
</ul>
<h3>How the Index Server Companion Works</h3>
<p>The Index Server Companion script contains a fully functional web robot that is able to
extract the content from all of the required pages of the specified website. It contains
support for the <a href="http://www.robotstxt.org/wc/norobots.html">Robots Exclusion
Standard specification</a>, and support for the robots meta tag contained within
individual pages. Each file extracted from the website is modified to contain a special
meta tag that give the original URL (for web content). It is then saved to disk from where
it can be indexed by Index Server. The contents of these special meta tags can then be
used by the ASP page displaying the results of a web search, so that clicking on a search
result item will display the original URL. Unfortunately Index Server will not allow you
to retrieve the content from custom meta tags without making a minor modification in the
Index Server's Microsoft Management Console (MMC), so there is also a special mode in the
Index Server Companion that appends the original URL into the page's HTML <title>
tag.</p>
<p>The Index Server Companion is also able to index content from database tables, queries
(Microsoft Access) and stored procedures (SQL Server). Database connectivity is achieved
through the use of ODBC, so potentially any type of database that has an ODBC driver is
supported.</p>
<h4><a name="Web Content"></a>Searching Web Content with the Index Server Companion</h4>
<p>Index Server Companion allows content from remote websites to be retrieved and
consequently indexed by Index Server. A working example of this may be seen on my website
at the following URL: <ul>
<li><a
href="http://www.winnershtriangle.com/w/Products.IndexServerCompanion.SampleSearch.asp"
target="_blank">http://www.winnershtriangle.com/w/Products.IndexServerCompanion.SampleSearch.asp</a></li>
</ul>
<p>This is a search page running on Internet Information Server 4.0 (Windows NT 4 Server)
that allows you to search my ASPAlliance site (including the article you are presently
reading!), together with the articles I have written for Ariadne.ac.uk and ASPToday.com.
Since I don't have administrative access to the Index Server on the machine hosting the
search page, I have used the feature of the Index Server Companion that allows the
document's original URL to be appended to the original title. For example the
<title> tag of the ASPToday article "ASP Documentation Systems" at <a
href="http://asptoday.com/content.asp?id=1435" target="_blank">http://asptoday.com/content.asp?id=1435</a>
is modified in the file saved to read:</p>
<font SIZE="1"><p></font><font size="2"><<font COLOR="#800080">title</font>>ISC_URL=http://asptoday.com/content.asp?id=1435
ASP Documentation Systems<<font COLOR="#800080">/title</font>></font><font SIZE="1"></p>
</font><p>The URL and original title are separated by a tab character. The search results
page then contains a small piece of ASP code to split this title back into the article's
URL and original title.</p>
<p>The ASP code for the sample search page may be seen below: <ul>
<li><a href="http://www.brettb.com/ASPAlliance/IndexServerCompanion/Sample_Web_ASPCode.html"
target="_blank">View sample ASP code</a>.</li>
</ul>
<h4><a name="Databases"></a>Searching Databases with the Index Server Companion</h4>
<p>The Index Server Companion is able to index content from database tables, queries
(Microsoft Access) and stored procedures (SQL Server). It is of course entirely possible
to search databases using Structured Query Language (SQL), but by making use of Index
Server Companion, it is a lot more straightforward to integrate database searches with
Index Server search results from web page searches. There are also other advantages: Index
Server contains sophisticated pattern matching, and it is often lot faster at returning
search results than an equivalent SQL statement would be when using a database such as
Microsoft Access.</p>
<p>Index Server Companion is able to retrieve the rows of a specified database table and
make an HTML file containing the data from a specific database row. Index Server can then
be used to index the HTML files, and it is possible to extract the details of the table
and row from which the data originated so that the search results page can be modified to
point to the original database data. A sample page produced from the SQL Server sample <em>pubs</em>
database is shown below:</p>
<p><font size="2"><<font COLOR="#800080">html</font>><br>
<<font COLOR="#800080">head</font>><br>
<<font COLOR="#800080">meta </font><font COLOR="#ff0000">name="</font><font
COLOR="#0000ff">ISC_title_id</font><font COLOR="#ff0000">" content="</font><font
COLOR="#0000ff">MC2222</font><font COLOR="#ff0000">"</font>><br>
<<font COLOR="#800080">meta </font><font COLOR="#ff0000">name="</font><font
COLOR="#0000ff">ISC_title</font><font COLOR="#ff0000">" content="</font><font
COLOR="#0000ff">Silicon Valley Gastronomic Treats</font><font COLOR="#ff0000">"</font>><br>
<<font COLOR="#800080">meta </font><font COLOR="#ff0000">name="</font><font
COLOR="#0000ff">ISC_type</font><font COLOR="#ff0000">" content="</font><font
COLOR="#0000ff">mod_cook </font><font COLOR="#ff0000">"</font>><br>
<<font COLOR="#800080">meta </font><font COLOR="#ff0000">name="</font><font
COLOR="#0000ff">ISC_price</font><font COLOR="#ff0000">" content="</font><font
COLOR="#0000ff">19.99</font><font COLOR="#ff0000">"</font>><br>
<<font COLOR="#800080">meta </font><font COLOR="#ff0000">name="</font><font
COLOR="#0000ff">ISC_pubdate</font><font COLOR="#ff0000">" content="</font><font
COLOR="#0000ff">6/9/1991 12:00:00 AM</font><font COLOR="#ff0000">"</font>><br>
<<font COLOR="#800080">meta </font><font COLOR="#ff0000">name="</font><font
COLOR="#0000ff">ISC_notes</font><font COLOR="#ff0000">" content="</font><font
COLOR="#0000ff">Favorite recipes for quick, easy, and elegant meals.</font><font
COLOR="#ff0000">"</font>><br>
<<font COLOR="#800080">meta </font><font COLOR="#ff0000">name="</font><font
COLOR="#0000ff">description</font><font COLOR="#ff0000">" content="</font><font
COLOR="#0000ff">Favorite recipes for quick, easy, and elegant meals.</font><font
COLOR="#ff0000">"</font>><<font COLOR="#800080">/head</font>><br>
<<font COLOR="#800080">title</font>>Silicon Valley Gastronomic Treats<<font
COLOR="#800080">/title</font>><br>
<<font COLOR="#800080">body</font>><br>
<<font COLOR="#800080">/body</font>><br>
<<font COLOR="#800080">/html</font>></font></p>
<p>In this example, the <em>title</em> field is optionally used to give the page a title,
and the <em>notes</em> field is used for the <em>description</em> meta tag.</p>
<p>Each of the custom ISC_ prefixed meta tags can be queried using Index Server, although
to retrieve their contents a minor configuration change to Index Server is required. It is
straightforward to create a page which for example, will return the records where the
value of the ISC_type meta tag is "mod_cook".</p>
<p>The Index Server Companion can also modify the HTML's <title> tag to include the
table name and row ID, e.g.:</p>
<p><font SIZE="1"><<font SIZE="1" COLOR="#800080">title</font>>ISC_Table=titles
ISC_KeyField=title_id ISC_RowNumber=MC2222 Silicon Valley Gastronomic Treats<<font
SIZE="1" COLOR="#800080">/title</font>></font></p>
<h2>Summary</h2>
<font SIZE="2"><p></font>The Index Server Companion allows Microsoft Index Server to index
content from remote websites and ODBC databases, making it a cost effective way of
significantly extending the functionality of Index Server.</p>
<h2>Comments/Suggestions?</h2>
<p>I've released the Index Server Companion in the hope that other users may find it
useful! I'd love to hear what you think of it. Is it useful? What new features do you
want? Email <script language="JavaScript"><!--

document.write("<a href=\"mailto:");
document.write("brett");
document.write("@");
document.write("aspalliance.");
document.write("com?subject=The%20Index%20Server%20Companion%20(ASPAlliance)");
document.write("\">");
document.write("brett");
document.write("@");
document.write("aspalliance.");
document.write("com");
document.write("</a>");

// --></script> with your thoughts.</p>
<p><a HREF="#"
onClick="window.open("http://www.regsoft.net/regsoft/tellafriend.php3?productid=50886","tellafriend","scrollbars=yes,width=700,height=500")"><img
SRC="images/tellafriend_big_1.png"
alt="Tell a friend about the Index Server Companion, and win a CD!" width="120"
height="90"> </a></p>
<h2><a name="Downloads"></a>Downloads</h2>
<ul>
<li><a
href="http://www.brettb.com/redirector.asp?URL=downloads/IndexServerCompanion_EvaluationVersion.zip&FROM=http://www.aspalliance.com/brettb/IndexServerCompanion.asp"
title="Index Server Companion Evaluation Version">Index Server Companion Evaluation
Version</a> (1.1Mb zip file).</li>
</ul>
<ul>
<li><a title="Index
Server Companion Documentation"
href="http://www.brettb.com/redirector.asp?URL=downloads/IndexServerCompanionDocumentation.zip&FROM=http://www.aspalliance.com/brettb/IndexServerCompanion.asp">Index
Server Companion Documentation</a> (121K zip file). </li>
</ul>
<ul>
<li><a
href="http://www.brettb.com/redirector.asp?URL=http://www.regsoft.net/purchase.php3?productid=50886&FROM=http://www.aspalliance.com/brettb/IndexServerCompanion.asp"
target="_blank">Purchase the Index Server Companion</a> ($39.99). [<a
href="http://www.winnershtriangle.com/w/Products.IndexServerCompanion.Purchase.asp">...more
details</a>]</li>
</ul>
<ul>
<li><a href="http://www.winnershtriangle.com/w/Products.SpecialOffers.asp"><strong>Special
offers on both Index Server Companion and the ASP Documentation Tool</strong></a>.</li>
</ul>
<ul>
<li><a href="downloads/TheIndexServerCompanion.pdf">Download this article in Adobe Acrobat
PDF format</a>.</li>
</ul>
<ul>
<li><a href="downloads/TheIndexServerCompanion.doc">Download this article in Microsoft Word
97 format</a>.</li>
</ul>
<h2>Further information</h2>
<ul>
<li><a href="http://www.ariadne.ac.uk/issue33/nt-explorer/">A more detailed version of this
article was published in Ariadne.ac.uk</a>.</li>
</ul>
<ul>
<li><a href="http://www.ariadne.ac.uk/issue19/nt/">The Microsoft Site Server Search Facility</a>.</li>
</ul>
<ul>
<li><a href="SearchingIndexServerWithASP.asp">Searching Index Server With ASP</a>.
Introductory guide to using Index Server from ASP.</li>
</ul>
<ul>
<li><a href="MoreIndexServerWithASP.asp">More about Searching Index Server With ASP</a>.
More advice and source code.</li>
</ul>
<ul>
<li>Need assistance with your Index Server application development? <a
href="http://www.winnershtriangle.com/w/Services.IndexServer.asp">I'm available for hire
at reasonable rates</a>.<!--end article--></li>
</ul>

<h2>Useful Development Tools</h2>
<div align="left">

<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="100%" valign="top"><a
href="http://www.winnershtriangle.com/w/Products.ASPDocumentationTool.asp" target="_blank" title="ASP Documentation Tool™"><strong>ASP
Documentation Tool™</strong></a></td>
</tr>
<tr>
<td width="100%" valign="top">Automatically creates developer documentation for ASP 2.0
and 3.0 web applications written in VBScript and JScript. Documentation for Microsoft
Access, SQL Server 7/2000 databases and Visual Basic 6.0 components associated with the
web application can also be incorporated into the reports. Documentation is created in
HTML, HTML Help and plain text formats.</td>
</tr>
<tr>
<td width="100%" valign="top">
   <a
href="http://www.winnershtriangle.com/w/SampleWeb_Documentation/SampleWeb.chm"><img
src="images/Icon_CHM.gif" width="16" height="16" alt="View Sample Output (HTML Help format)"
border="0" align="absmiddle"></a> <a
href="http://www.winnershtriangle.com/w/SampleWeb_Documentation/SampleWeb.chm" title="View Sample Output (HTML Help format)">View Sample
Output</a> (HTML Help format).<br>
   <a
href="http://www.winnershtriangle.com/w/SampleWeb_Documentation/Default.htm"><img
src="images/Icon_HTML.gif" width="16" height="16" alt="View Sample Output (HTML Format)"
align="absmiddle" border="0"></a> <a
href="http://www.winnershtriangle.com/w/SampleWeb_Documentation/Default.htm"
target="_blank" title="View Sample Output (HTML Format)">View Sample Output</a> (HTML Format).<br>
   <a
href="http://www.brettb.com/redirector.asp?URL=downloads/ASPDocumentationTool_Evaluation_Version.zip"><img
src="images/Icon_Download.gif" width="18" height="20" alt="Download Trial Version"
border="0" align="absmiddle"></a> <a
href="http://www.brettb.com/redirector.asp?URL=downloads/ASPDocumentationTool_Evaluation_Version.zip" title="Download Trial Version">Download
Trial Version</a> (5.2Mb ZIP file).</td>
</tr>
</table>
<br>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="100%" valign="top"><a
href="http://www.winnershtriangle.com/w/Products.IndexServerCompanion.asp" target="_blank" title="Index Server Companion"><strong>Index Server Companion</strong></a></td>
</tr>
<tr>
<td width="100%" valign="top">
The Index Server Companion is a Windows application that extends the functionality of Microsoft Index Server so that it is able to index content from remote websites and also from ODBC databases. As such it can be used as a low cost alternative to Site Server 3.0 Search.

</td>
</tr>
<tr>
<td width="100%" valign="top">
   <a
href="http://www.brettb.com/redirector.asp?URL=downloads/IndexServerCompanionDocumentation.zip"><img
src="images/Icon_CHM.gif" width="16" height="16" alt="View Product Documentation"
border="0" align="absmiddle"></a> <a
href="http://www.brettb.com/redirector.asp?URL=downloads/IndexServerCompanionDocumentation.zip" title="View Product Documentation">View Product
Documentation</a> (119K ZIP file).<br>
   <a
href="http://www.winnershtriangle.com/w/Products.IndexServerCompanion.SampleSearch.asp"><img
src="images/Icon_HTML.gif" width="16" height="16" alt="Try Sample Search Facility"
align="absmiddle" border="0"></a> <a
href="http://www.winnershtriangle.com/w/Products.IndexServerCompanion.SampleSearch.asp"
target="_blank" title="View Sample Search Facility">Try Sample Search Facility</a>.<br>
   <a
href="http://www.brettb.com/redirector.asp?URL=downloads/IndexServerCompanion_EvaluationVersion.zip"><img
src="images/Icon_Download.gif" width="18" height="20" alt="Download Trial Version"
border="0" align="absmiddle"></a> <a
href="http://www.brettb.com/redirector.asp?URL=downloads/IndexServerCompanion_EvaluationVersion.zip" title="Download Trial Version">Download
Trial Version</a> (1.7Mb ZIP file).</td>
</tr>
</table>
<br>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="100%" valign="top"><a
href="http://www.winnershtriangle.com/w/Products.ASPNETDocumentationTool.asp" target="_blank" title="ASP.NET Documentation Tool"><strong>ASP.NET Documentation Tool</strong></a></td>
</tr>
<tr>
<td width="100%" valign="top">Automatically creates developer documentation for ASP.NET web applications written in C# or VB.NET.
Documentation for SQL Server 7/2000 databases and C#/VB.NET components associated with the
web application can also be incorporated into the reports. Documentation is created in
HTML, HTML Help and plain text formats.</td>
</tr>
<tr>
<td width="100%" valign="top">
   <a href="http://www.winnershtriangle.com/w/ASP.NETDocToolSamples/SampleWeb.NET/SampleWeb.NET.chm"><img
src="images/Icon_CHM.gif" width="16" height="16" alt="View Sample Output (HTML Help format)"
border="0" align="absmiddle"></a> <a
href="http://www.winnershtriangle.com/w/ASP.NETDocToolSamples/SampleWeb.NET/SampleWeb.NET.chm" title="View Sample Output (HTML Help format)">View Sample
Output</a> (HTML Help format).<br>
   <a
href="http://www.winnershtriangle.com/w/ASP.NETDocToolSamples/SampleWeb.NET/Default.htm"><img
src="images/Icon_HTML.gif" width="16" height="16" alt="View Sample Output (HTML Format)"
align="absmiddle" border="0"></a> <a
href="http://www.winnershtriangle.com/w/ASP.NETDocToolSamples/SampleWeb.NET/Default.htm"
target="_blank" title="View Sample Output (HTML Format)">View Sample Output</a> (HTML Format).<br>
   <a
href="http://www.brettb.com/redirector.asp?URL=downloads/ASP.NETDocumentationTool_1.0.zip"><img
src="images/Icon_Download.gif" width="18" height="20" alt="Download Trial Version"
border="0" align="absmiddle"></a> <a
href="http://www.brettb.com/redirector.asp?URL=downloads/ASP.NETDocumentationTool_1.0.zip" title="Download Trial Version">Download
Trial Version</a> (727K ZIP file).</td>
</tr>
</table>
<br>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="100%" valign="top"><a
href="http://www.winnershtriangle.com/w/Products.SQLDocumentationTool.asp" target="_blank" title="SQL Documentation Tool"><strong>SQL
Documentation Tool</strong></a></td>
</tr>
<tr>
<td width="100%" valign="top">The SQL Documentation Tool creates technical documentation for Microsoft SQL Server 7.0 and 2000 databases. Technical documentation is created in HTML and HTML Help formats. The HTML Help format documentation is fully searchable and cross referenced. The SQL Documentation Tool documents SQL Server Tables, Views, Stored Procedures, Triggers and Table Relationships.</td>
</tr>
<tr>
<td width="100%" valign="top">
   <a
href="http://www.winnershtriangle.com/w/SQLDocumentationTool/Reports/Test_Project/Test_Project.chm"><img
src="images/Icon_CHM.gif" width="16" height="16" alt="View Sample Output (HTML Help format)"
border="0" align="absmiddle"></a> <a
href="http://www.winnershtriangle.com/w/SQLDocumentationTool/Reports/Test_Project/Test_Project.chm" title="View Sample Output (HTML Help format)">View Sample
Output</a> (HTML Help format).<br>
   <a
href="http://www.winnershtriangle.com/w/SQLDocumentationTool/Reports/Test_Project/Default.htm"><img
src="images/Icon_HTML.gif" width="16" height="16" alt="View Sample Output (HTML Format)"
align="absmiddle" border="0"></a> <a
href="http://www.winnershtriangle.com/w/SQLDocumentationTool/Reports/Test_Project/Default.htm"
target="_blank" title="View Sample Output (HTML Format)">View Sample Output</a> (HTML Format).<br>
   <a
href="http://www.brettb.com/redirector.asp?URL=downloads/SQLDocumentationToolTrial.zip"><img
src="images/Icon_Download.gif" width="18" height="20" alt="Download Trial Version"
border="0" align="absmiddle"></a> <a
href="http://www.brettb.com/redirector.asp?URL=downloads/SQLDocumentationToolTrial.zip" title="Download Trial Version">Download
Trial Version</a> (10.3Mb ZIP file).</td>
</tr>
</table>
<br>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="100%" valign="top"><a
href="http://www.winnershtriangle.com/w/Products.TheWebsiteUtility.asp" target="_blank" title="The Website Utility"><strong>The Website Utility</strong></a></td>
</tr>
<tr>
<td width="100%" valign="top">The Website Utility examines websites for errors and
areas that need to be optimised for search engines by using a built in web crawling engine.
Errors checked for include broken or moved hyperlinks, missing page titles and missing meta tags.
It also generates HTML for use in creating website site maps (table of contents pages - like <a href="TableOfContents.asp" title="Example Table of Contents">this one</a>), and is
able to create both client-side <a href="http://www.winnershtriangle.com/w/Products.TheWebsiteUtility.JavaScriptSearchEngine.asp" title="JavaScript Search Engine">JavaScript Search Engines</a> and server-side <a href="http://www.winnershtriangle.com/w/Products.TheWebsiteUtility.ASPSearchEngine.asp" title="JavaScript Search Engine">ASP Search Engines</a> for a website.</td>
</tr>
<tr>
<td width="100%" valign="top">
   <a
href="http://www.winnershtriangle.com/w/TheWebsiteUtility/Reports/ASPAlliance/default.htm"><img
src="images/Icon_HTML.gif" width="16" height="16" alt="View Sample Output (HTML Format)"
align="absmiddle" border="0"></a> <a
href="http://www.winnershtriangle.com/w/TheWebsiteUtility/Reports/ASPAlliance/default.htm"
target="_blank" title="View Sample Output (HTML Format)">View Sample Output</a> (HTML Format).<br>
   <a
href="http://www.brettb.com/redirector.asp?URL=downloads/TheWebsiteUtilityTrial.zip"><img
src="images/Icon_Download.gif" width="18" height="20" alt="Download Trial Version"
border="0" align="absmiddle"></a> <a
href="http://www.brettb.com/redirector.asp?URL=downloads/TheWebsiteUtilityTrial.zip" title="Download Trial Version">Download
Trial Version</a> (3Mb ZIP file).</td>
</tr>
</table>
<br>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="100%" valign="top"><a
href="http://www.regnow.com/softsell/nph-softsell.cgi?item=8452-18&affiliate=44172" target="_blank" title="Text Workbench"><strong>Text Workbench</strong></a></td>
</tr>
<tr>
<td width="100%" valign="top">Text Workbench is a file search and replacement utility for text files and Microsoft Office documents. Make rapid file replacements on multiple files and folders full of files. Advanced replacement options include regular expressions support. It even works on remote file systems via FTP. A Regular Expression Laboratory allows advanced pattern matching and replacement expressions to be built and tested. This great utility will make your everyday development tasks much easier!
</td>
</tr>
<tr>
<td width="100%" valign="top">
   <a
href="http://www.regnow.com/trialware/download/Download_TxtWrBSetup.exe?item=8452-18&affiliate=44172"><img
src="images/Icon_Download.gif" width="18" height="20" alt="Download Trial Version of Text Workbench"
border="0" align="absmiddle"></a> <a
href="http://www.regnow.com/trialware/download/Download_TxtWrBSetup.exe?item=8452-18&affiliate=44172" title="Download Trial Version of Text Workbench">Download
Trial Version</a> (3Mb ZIP file; you have the option to either install directly from this link or save the file for later installation).</td>
</tr>
</table>

</div>

<h2>Author details</h2>
<p><p><a href="http://www.brettb.com/" title="View Brett's personal website">Brett Burridge</a>
spent two years working in the <a href="http://www.essex.ac.uk/"
title="University of Essex">University of Essex</a> Computing Service, before moving to <a
href="http://www.intapps.com/" title="The Internet Applications Group">The Internet
Applications Group</a> in the Autumn of 1999, where he developed e-Business applications for a range of
corporate clients and dot-com start ups.</P>
<P>Brett is presently employed as an Internet developer and technical writer
through his own company,
<a href="http://www.winnershtriangle.com/w/Default.asp" title="Winnersh Triangle Web Solutions Limited" target="_blank">Winnersh Triangle Web Solutions Limited</a>.
The company produces a number of
innovative products, including the popular
<a href="http://www.winnershtriangle.com/w/Products.ASPDocumentationTool.asp" target="_blank" title="ASP Documentation Tool™ - creates project documentation for ASP 2.0 and 3.0 websites written in VBScript and JScript, and also SQL Server 2000 databases">ASP Documentation Tool™</a>, the <a href="http://www.winnershtriangle.com/w/Products.IndexServerCompanion.asp" target="_blank" title="Index Server Companion - extends the functionality of Index Server to allow indexing of content from remote websites and ODBC databases">Index Server Companion</a>, the <a href="http://www.winnershtriangle.com/w/Products.ASPNETDocumentationTool.asp" target="_blank" title="ASP.NET Documentation Tool - creates documentation for ASP.NET web applications written in VB.NET and C#">ASP.NET Documentation Tool</a>, the <a href="http://www.winnershtriangle.com/w/Products.SQLServerDocumentationTool.asp" target="_blank" title="SQL Server Documentation Tool - Documents Microsoft SQL Server Databases">SQL Server Documentation Tool</a> and <a href="http://www.winnershtriangle.com/w/Products.TheWebsiteUtility.asp" target="_blank" title="The Website Utility">The Website Utility</a>.
The company is also available for <a href="http://www.winnershtriangle.com/w/Services.Main.asp" target="_blank" title="web application design and development">web application design and development</a> at reasonable rates, primarily using
<a href="http://www.winnershtriangle.com/w/Services.Microsoft.asp" target="_blank" title="Development using Microsoft technologies such as ASP, ASP.NET, Visual Basic, SQL Server">Microsoft technologies</a> (ASP, ASP.NET, Visual Basic, SQL Server) but also using <a href="http://www.winnershtriangle.com/w/Services.OpenSource.asp" target="_blank" title="Open source development using technologies such as PHP, MySQL and Perl">open source</a>
technologies such as PHP, MySQL and Perl. Specialist services include development
of <a href="http://www.winnershtriangle.com/w/Services.IndexServer.asp" target="_blank" title="Development of search solutions using Microsoft's Index Server and Site Server 3.0 Search">search solutions</a> using Microsoft's Index Server and Site Server 3.0 Search.
</P>
<P>
As well as the ASPAlliance, Brett has written articles for <a href="http://www.ariadne.ac.uk/issue33/nt-explorer/" title="Read Brett's most recent article for Ariadne.ac.uk" target="_blank">Ariadne.ac.uk</a>
and <a href="http://www.asptoday.com/content.asp?id=1435" target="_blank" title="Read Brett's first ASPToday article">ASPToday</a>, and has contributed recipes to the <a href="http://www.amazon.com/exec/obidos/ASIN/0672325241/brettbcom" target="_blank" title="ASP.NET Developer's Cookbook">ASP.NET Developer's Cookbook</a>.
   <small><a href="Links.asp" style="color: rgb(252,253,253);">links</a></small>
</P>
<p>
Outside web development, Brett is interested in digital photography (here's my <a href="http://www.brettb.com/gallery.asp" target="_blank" title="My digital photo gallery">photo gallery</a>), <a href="http://www.brettb.com/MyTropicalFishtank.asp" target="_blank" title="My Tropical Fish!">tropical fishkeeping</a>
and collecting contemporary works of art by artists such as <a href="http://www.brettb.com/Doug_Hyde_Gallery.asp" title="My Doug Hyde Limited Edition Sculptures and Prints" target="_blank">Doug Hyde</a>.
</p>

<p>Contact Brett by emailing <script language="JavaScript"><!--

document.write('<a title="Email Brett" href="mailto:' + 'brett' + '@asp' + 'alliance.com">brett' + '@' + 'aspalliance.com</a>');
// --></script></p>


<p align="center">
<a href="http://www.winnershtriangle.com/w/Products.IndexServerCompanion.asp?FROM=http://authors.aspalliance.com/brettb/IndexServerCompanion.asp" target="_blank"><IMG SRC="images/IndexServerCompanion_468x60_2.gif" width="468" height="60" alt="Index Server Companion - allows Index Server to index content from remote websites and ODBC databases!!!" border="0"></a>

</p>

</p>
<h2>Article history</h2>
<p>"The Index Server Companion" published on ASPAlliance.com on 30 August 2002.
Last revised 13 May 2003.</p>
<p><a title="Back to the ASP Kitchen" href="Default.asp">ASP Kitchen</a>: <a
href="ClassicASPArticles.asp">Classic ASP Articles</a>: The Index Server Companion</td>

</td>
<td valign="top" align="center" bgcolor="#CCCCCC" style="BORDER-LEFT: rgb(102,102,102) 1px solid;"> <script type="text/javascript"><!--
google_ad_client = "pub-7044749527879330";
google_ad_width = 120;
google_ad_height = 600;
google_ad_format = "120x600_as";
google_ad_channel ="5708954406";
google_color_border = "0000C0";
google_color_bg = "FFFFFF";
google_color_link = "E60000";
google_color_url = "0000FF";
google_color_text = "000000";
google_ad_type = "text_image";
google_alternate_ad_url = "http://authors.aspalliance.com/brettb/NoGoogleAds.asp";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>

<p align="center">
<a href="http://www.winnershtriangle.com/w/Products.ASPDocumentationTool.asp" target="_blank"><img src="http://authors.aspalliance.com/brettb/images/ASPDocumentationTool_1.gif" alt="Download a Free ASP Documentation Tool Now!"></a>

</p>

<!-- Search Google -->
<center>
<form method="get" action="http://www.google.com/custom" target="google_window">
<table bgcolor="#cccccc">
<tr><td nowrap="nowrap" valign="top" align="left" height="32">
<a href="http://www.google.com/">
<img src="http://www.google.com/logos/Logo_25gry.gif" border="0" alt="Google" align="middle"></img></a>
<br/>
<input type="text" name="q" size="15" maxlength="255" value=""></input>
</td></tr>
<tr><td valign="top" align="left">
<input type="submit" name="sa" value="Search"></input>
<input type="hidden" name="client" value="pub-7044749527879330"></input>
<input type="hidden" name="forid" value="1"></input>
<input type="hidden" name="channel" value="4628523158"></input>
<input type="hidden" name="ie" value="ISO-8859-1"></input>
<input type="hidden" name="oe" value="ISO-8859-1"></input>
<input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1;"></input>
<input type="hidden" name="hl" value="en"></input>
</td></tr></table>
</form>
</center>
<!-- Search Google -->


<p align="center">
<a href="http://www.regnow.com/softsell/visitor.cgi?affiliate=44172&action=site&vendor=7522" target="_blank" title="Search Engine Builder - Build a search engine for your website!"><img border="0" src="images/SearchEngineBuilder.gif" alt="Search Engine Builder - Build a search engine for your website!"></a>
</p>
</td>
</tr>
<tr><td bgcolor="#CC0000" colspan="2" style="BORDER-TOP: rgb(102,102,102) 1px solid;"><small><font color="white">© page content copyright Brett Burridge 1998 - 2004.</font></small></td></tr>
</table>
<!--End ASPAlliance Document Article-->
</body>
</html>