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:
- 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 http://208.239.225.133/search/.
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:
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