Ask the Expert

Which is the best design pattern for developing a search engine site using JSP and servlets?

Which is the best design pattern for developing a search engine site using JSP and servlets? If we have the requirement as, an Application server, Webserver, SearchEngine server, and a DB? And which design pattern is good if we use J2EE?

    Requires Free Membership to View

A search engine can be thought of as the search mechanism on a host that retrieves information that has already been gathered and indexed. Typically, the engine will send a "robot" out to sites to collect data as new sites show up. This new data is then indexed. Tree-based data structures and/or relational databases are typically used to store the indexes.

A technique known as "document ranking" is being employed by current search engines. Using document ranking, documents are given scores or "rankings" in order to arrange the documents according to how relevant their content is to the search key.

Current research trends are looking into categorizing retrieved data using taxonomies. A taxonomy is a semantic-based categorization of data or services. A categorization approach usually relies on human judgment when categorization is done.

Another project is the XML-based Resource Description Framework, developed by the W3C. RDF seeks to empower search engines by standardizing Web-based metadata. To properly integrate a search engine into a J2EE environment, a number of patterns should be used including:

Model-View-Controller
Command
DAO
Session Facade
Page-by-page Iterator
Front Controller
Factory

These patterns should be employed across a four-tier architecture as depicted here.

For search engine source code, check out the FreeWais project, or the Jakarta Lucene text search engine or Jcorporate's eSearch.

SearchKeyPro is a commercial search engine written in Java by Astaware.

This was first published in June 2002

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: