This diagram provides a high-level overview of the processes used in answering Search requests:

The sections that follow provide detailed information on each request processing step.

Note: This section does not include processing information specific to the Search Merchandising feature of ATG Merchandising. See the ATG Merchandising User Guide for information on Search Merchandising.

User Enters Search Input

ATG Search can accept several different types of search input. Two common types are:

The examples in this section use keyword searches, because that is familiar to most people and the most friendly to human readers.

Along with keywords or phrases to search on, the user can enter operators such as quote marks, + and ! symbols. The Search form handlers (the programmatic part of the page on which the user enters search terms) can also add parameters behind the scenes, for example to identify the language the user is searching in, or to restrict the search to certain parts of the index.

The text the user enters is packaged up into a query request. The request is a Java object that is sent to Search when the user clicks a submit button, follows a link, etc., then translated into XML by the search engine.

See….

Troubleshooting

ATG Commerce Search Guide for information on the Search form handlers.

ATG Search Query Reference Guide for parameters available for each of the different query types.

You can use Search Reports to see what search terms your users enter. See the Reporting chapter in this guide.

You can view the entire XML of a search query. See Enabling Search Logging in the Troubleshooting and Performance Tuning chapter of this guide.

Natural Language Processing

Once it receives the submitted request, ATG Search analyzes it to determine what terms it has to search for. To do this, it performs a series of analyses on the text the user entered. Note that it is the final result of all of these steps that is used by the search engine to conduct the search.

This is essentially the same process used to index content, and it relies on a combination of the core Search dictionary, any supplemental dictionaries you have created, and language-specific information.

This step includes the following processes:

The final result of natural language processing is a list of terms that includes the spell-corrected root forms of the original search terms, any synonyms for these terms, and weighting information.

See….

Troubleshooting

The Dictionaries chapter of this guide for steps 1-4.

The Understanding Term Weights section of this guide for step 5.

The Why Use Dictionaries section of this guide for information on when and how to use custom dictionaries.

See Using Dictionary Inspection Tools and Troubleshooting Search Resultsin this guide.

Apply Constraints

Now that it has identified the terms that it will compare to the index, Search applies any constraints that were entered along with the request. Constraints can include operators such as quote marks and the ! symbol, query rules, and rank configurations.

The constraints are processed and added to the query information.

See….

Troubleshooting

For operators, see User-Entered Query Operators in the ATG Search Query Reference Guide.

For query rules, see the Query Rules chapter of this guide.

For Merchandising Search Configurations, see the ATG Merchandising User Guide

Query and response XML; see Troubleshooting Search Resultsin this guide

Query Processing

The compiled query information is compared against the index. The engine returns an XML object that includes the resulting matching products or statements, taking constraints into account, along with categorization, spelling, and query feedback information specified in the request.

The results are sorted in relevance order by default, but this behavior can be changed using request parameters. The results can be grouped to reduce duplication, and you can apply paging to prevent slowing down your site with large result lists.

The final results are displayed to the user.

See….

Troubleshooting

The docSort attribute in the ATG Search Query Reference Guide for ordering results.

The Refining Search Results section of the ATG Search Query Reference Guide for categorization, spelling, and query feedback.

The sorting attribute in the ATG Search Query Reference Guide for grouping.

The pageNum and pageSize attributes in the ATG Search Query Reference Guide for paging.

Response XML

 
loading table of contents...