Brettb.Com
  HOME | ABOUT ME | BIOTECHNOLOGY | ARTICLES | GALLERY | CONTACT
Search: Go
TECHNICAL ARTICLES
 ASP
 ASP.NET
 JavaScript
 Transact SQL
 Other Articles
 Software Reviews

PHOTO GALLERIES
 Canon EOS 300D Samples
 Akihabara Maids!
 More Galleries...

TRAVEL LOG
 2009: China
 2008: Tokyo
 2007: Tokyo
 2006: Hong Kong
 2005: New York City

MORE STUFF
 Search Engine Optimisation
 Build an ASP Search Engine
 My Tropical Fishtank
 Autoglass
 SQL Month Name
 SQL Get Date Today
 SQL Year Month
 Other New Stuff...

POPULAR STUFF
 Regular Expressions
 Index Server & ASP
 JavaScript Ad Rotator

Home > Articles

Using ASP to view Site Server Search catalog properties

The Search facility of Site Server 3.0 is invaluable for adding search facilities to your website, especially when your content is spread over multiple websites. But the problem of indexing multiple websites is that it can be difficult to keep track of how large the catalogs are growing. This is a particular problem if you are not responsible for the content on the websites you are indexing.

Obtaining Site Server Search Catalog Properties

The following short script will make it easy to have an at a glance look at the properties of your search catalogs. The script connects to the Search server, and extracts property information for each of the catalogs on that Search server.

The script has several parts. The first part creates a Search administration object. Note that because I like my date and formats to be in UK English format (DD/MM/YY HH:MM:SS) rather than US format (MM/DD/YY HH:MM:SS PM), the session’s locale identifier (LCID) is set to 2057 (0809 Hex). If you are based in the US, this line can be commented out.

<%
session.LCID = 2057
'Set locale ID to UK English

Set searchhost = Server.CreateObject("Search.SearchAdmin.1")

Set searchserver = searchhost.SearchServer
Set searchservercatalogs = searchserver.SearchCatalogs
%>

The following code creates a table with four columns for catalog properties: Catalog name, Date of last update, Number of documents and Size (Mb). Catalog properties are enumerated using a standard For…Each loop. There are several other catalog properties that can be obtained using this type of script, but I have chosen the most useful ones.

<div align="center"><center>

<table border="0" cellpadding="2" width="75%" cellspacing="0">
<tr>
<td width="25%" style="background-color: rgb(132,132,255); border: 1px groove rgb(0,0,0)"><strong>Catalog
name</strong></td>
<td width="25%"
style="background-color: rgb(132,132,255); border-left: 1px none rgb(0,0,0); border-right: 1px groove rgb(0,0,0); border-top: 1px groove rgb(0,0,0); border-bottom: 1px groove rgb(0,0,0)"><strong>Date
of last update</strong></td>
<td width="25%"
style="background-color: rgb(132,132,255); border-left: 1px none rgb(0,0,0); border-right: 1px groove rgb(0,0,0); border-top: 1px groove rgb(0,0,0); border-bottom: 1px groove rgb(0,0,0)"><strong>Number
of documents</strong></td>
<td width="25%"
style="background-color: rgb(132,132,255); border-left: 1px none rgb(0,0,0); border-right: 1px groove rgb(0,0,0); border-top: 1px groove rgb(0,0,0); border-bottom: 1px groove rgb(0,0,0)"><strong >Size
(Mb)</strong></td>
</tr>
<%For Each catalog in searchservercatalogs
Set catalogprops = catalog.Properties
%>
<tr>
<td width="25%" style="background-color: rgb(223,223,255)"><%=catalog.Name%>
</td>
<td width="25%" style="background-color: rgb(223,223,255)"><%=catalogprops.BuildDate%>
</td>
<td width="25%" style="background-color: rgb(223,223,255)"><%=catalogprops.NumberOfDocuments%>
</td>
<td width="25%" style="background-color: rgb(223,223,255)"><%=catalogprops.IndexSize%>
</td>
</tr>
<%Next%>
</table>
</center></div>

Finally, the objects that have previously have been created are tidied up:

<%
Set searchservercatalogs = nothing
Set searchserver = nothing
Set searchhost = nothing
%>

And that’s it. This script will be very useful for having an at a glance inspection of your Search Server’s health. The resulting web page should look something like this:

Sample output from the Site Server Search catalog script described on this page

This script will, therefore, allow you to watch for the following:

  • Problems with catalogs will sometimes result in the catalog containing zero documents.
  • Problems with the Windows NT Task Scheduler will often result in the catalog(s) not being updated at the required date and time.
  • When indexing third party websites you have to be careful that the size of the index doesn’t grow so large that the Search server is overwhelmed.
  • Sudden surges in the number of documents being indexed on the server are usually cause for concern (and hence further investigation).

Further reading

If you want to delve further into remote administration of Site Server, then the comprehensive Software Developer’s Kit is useful (the kit is also on the Site Server 3.0 CD-ROM). Further uses for this script include writing a Windows Scripting Host or Perl script that will periodically record the number of documents in each Search catalog over time. This is useful in recording the growth of your website(s).

You might also like to invest in one of these featured books:

Beginning Site Server 3.0  Professional Site Server 3.0

  Site Map | Privacy Policy

All content is 1995 - 2012