Building an AjaxPro.NET Based Search Engine into Your Website - Database Design
(Page 4 of 4 )
To give prominence to the search engine aspects of this article, we’ve simplified the database; it's a Microsoft SQL Server 2005 database named Search_Data.mdf with only one table named article defined. The following Table 1 gives the structure for the article table.
Table 1—structure for the article table.
Field name | Type | Description |
id | int, NOT NULL | Primary Key |
title | nvarchar (50), NOT NULL | The article title |
author | nvarchar (50), NOT NULL | The author of the article |
createdata | datetime, NOT NULL, DEFAULT (getdate()) | The date and time the article was created. |
content | ntext | The article content |
To gain a clearer understanding of the work flow, let’s sketch a rough map to illustrate the relationships between each of the modules, as depicted in Figure 1:

Figure 1—the general work flow used in implementing our search engine sample application.
As is shown in Figure 1, we’ve used the following routines:
- Call two dummy methods (GetXMLFile and GetXSLTFile) from the client-side JavaScript. These two methods in turn call two Ajax methods defined on the server side via AjaxPro.NET to get back the XML and XSLT data, both in string format.
- With the help of several APIs supplied by the client-side Ajax framework, namely AJAXSLT, we convert the XML data into HTML data in the specified format that has been defined using a special XSLT stylesheet.
- Render the HTML data on the browser side.
Note in this example the server-side ".xslt" file is located under some sub folder of the website while the "XML" data are persisted within database table and later converted into an XML-formatted string.
This concludes part one. Please check back tomorrow for the conclusion to this tutorial.
| DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware. |