When you think ASP, think...
Recent Articles
All Articles
ASP.NET Articles
Related Web Technologies
User Tips!
Coding Tips

Sample Chapters
JavaScript Tutorials
MSDN Communities Hub
Official Docs
Stump the SQL Guru!
XML Info
Author an Article
Print this page.
Published: Saturday, December 04, 1999

Searching Through the Text of Each File on a WebSite

In a previous article (A Text-Based Search Engine), I demonstrated how to search through a list of files in a particular folder, returning a link to those files that contained the text of a search entered by the user. This article presented a simple text-based search engine, but lacked many features. For example:

- continued -

  • If there are a large number of files in the folder that match the search string entered by the user, a lengthy list will be returned.
  • The search engine would not recurse the subfolders of the particular folder being searched.
  • The user could only enter a single statement to be searched on. The user could not have a search executed on term1 and term2.

This article presents an improved text-based search engine, which offers the following enhancements:

  • A paged listing of results - the user only sees 10 hits at a time. If there are possibly more hits, a link titled Show more results is presented.
  • The search engine will recursively search through all subfolders
  • The user may enter a number of search terms, each separated by a space, and apply either AND or OR boolean logic. For example, if the user chose to seach for: "ASP database" with the AND boolean logic choice, only those files that contained both ASP and database in them would be listed.

The code and interface presented in this article are the code and interface used on the new, dedicated server. This dedicated server is still in a testing mode (as of 12/4/99), but the search interface can be accessed at

A screenshot from the search engine interface. On the right, you can see a screenshot of the search interface. There are three form elements: a text box for the user to enter his search terms, a list box for the user to select what boolean operator they wish to apply to their search string, and a list box to allow the user to choose what section of the site he wished to search. Also included (but not shown in the screenshot) is a SUBMIT button for the user to click once they are ready to execute their search. The following code contains the HTML used to create the screenshot:

<FORM NAME="frmSearch" METHOD="GET" ACTION="/ASPscripts/search.asp"> <TABLE BORDER="0"> <TR> <TD> Search for: </TD> <TD> <FONT COLOR="BLACK"> <INPUT NAME="terms" TYPE="TEXT" SIZE="20" TITLE="Enter the keywords to search on here!"> </FONT> </TD> </TR> <TR> <TD> Boolean: </TD> <TD> <FONT COLOR="BLACK"> <SELECT NAME="boolean" SIZE="1"> <OPTION VALUE="AND">And</OPTION> <OPTION VALUE="OR">Or</OPTION> </SELECT> </FONT> </TD> </TR> <TR> <TD> Search: </TD> <TD> <FONT COLOR="BLACK"> <SELECT NAME="selSearchWhere" SIZE="1"> <OPTION VALUE="WEBTECHNOLOGY">Web Technology</OPTION> <OPTION VALUE="HUMOR">Humor</OPTION> </SELECT> </FONT> </TD> </TR> </TABLE> <P> <CENTER> <FONT COLOR="BLACK"> <INPUT TYPE="SUBMIT" VALUE="Search!"> </FONT> </CENTER> </FORM>

Note that this form sets the METHOD=GET. I do this so that all of the information is passed through the querystring. This allows the user to bookmark a particular search, or email the search results URL to a friend. Also note that the form, when submitted, is sent to Search.asp. We will examine Search.asp in Part 2. Take a moment to note the name of each form field. For example, the list box to select which section to search is named selSearchWhere. Once you have done this, proceed to Part 2!

  • Read Part 2

  • ASP.NET [1.x] [2.0] | ASPFAQs.com | Advertise | Feedback | Author an Article