Transact SQL Other Articles Software Reviews
Using the Site Server Search facility to search custom Meta Tags
An interesting feature of the Site Server 3.0 Search facility is the ability to search custom Meta Tags. A common use of this facility is to enable users of a web site to narrow down their searches to a particular part of a website.
In a well organised site, you could restrict searches by only allowing searches of specific file paths. For example, the following will restrict searches to the financial section of the www.foo.com website:
Util.AddScopeToQuery Q, "http://www.foo.com/financial/", "deep"
However, if your content is distributed in many different folders (or even on different servers) then a file path restriction is not appropriate.
A possible alternative is to tag certain pages with specific Meta Tags. The Tag Tool that is supplied with Site Server allows this to be done for entire websites at a time. Obviously, if you use Perl or some other type of scripting to generate static web pages from databases then adding Meta Tags is very straightforward.
Searching custom Meta Tags
The first stage is to add the custom Meta Tags to your web page. So if you want to tag the Customer Support and Financial Services pages respectively, add the following HTML to each:
<META NAME="Department" CONTENT="Customer Support">
<META NAME="Department" CONTENT="Financial Services">
Having done this, you will have to rebuild the Search Catalog for that website.
The ASP code that will create a basic search results page that will allow searching of these pages is below. Be sure to change the value of the Q.Catalog to the name of your Search Catalog!
Note that the search query specifies that the Department Meta Tag should be searched for instances of Financial Services. If you want to restrict searching to the Customer Support pages instead of the Financial Services pages, then modify the code appropriately:
Q.Query = "@Meta_Department Customer Support"
You could also search other custom Meta Tags in a similar way by adding the Meta_ prefix to them. So if an online store wanted to search the ProductArea Meta Tag, then you could use a Query such as:
Q.Query = "@Meta_ProductArea Toys"
Retrieving contents of Meta Tags
If you want to retrieve the contents of Meta Tags and display them with the search results, then you need to use the following procedure, otherwise you may see an error similar to this:
ADODB.Fields error '800a0cc1'
First, add Meta_Department to the Q.Columns line of the ASP code:
Q.Columns = "DocTitle, DocAddress, size, write, rank, Meta_Department"
Once you have done this, in the Site Server Administrator Microsoft Management Console (MMC), go to Console Root > Search > your_machine_name > Catalog Build Server > your_catalog_name > Schema. In the Catalog Schema part of the MMC, click on the Add button. When the Add Schema Column part of the MMC appears, add the following:
When you have clicked on the Submit button, you are given the choice of changing the Master Schema (this changes all the Catalogs on that Search server) or creating a Custom Schema (this only changes the current Catalog). Having changed the Schema, you will then have to rebuild the Search Catalog.
If you subsequently modify the ASP code to the following, each search result will then display the contents of the Department Meta Tag:
Response.Write "<A HREF=" & Chr(34) & RS("DocAddress") & Chr(34) & ">" & RS("DocTitle") & "</A> (" & RS("Meta_Department")& ") <BR>"
This is a brief introduction to the use of custom Meta Tags with Site Server. On well managed sites the use of such searches could make it a lot easier for your web site users to quickly find the content they are looking for.
You might also like to invest in one of these featured books: