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 Oracle ATG Web Commerce Merchandising. See the ATG Merchandising Guide for Business Users for information on Search Merchandising.

User Enters Search Input

Oracle ATG Web Commerce 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 Oracle ATG Web Commerce Search when the user clicks a submit button, follows a link, etc., then translated into XML by the search engine.

See….

Troubleshooting

ATG Search Query Guide for information on the search form handlers.

You can use Search Reports to see what search terms your users enter. See the ATG Reports 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, Oracle ATG Web Commerce 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 Results in this guide.

Apply Constraints

Now that it has identified the terms that it will compare to the index, Oracle ATG Web Commerce Search applies any constraints that were entered along with the request. Constraints can include site, catalog, or category information; 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 Guide.

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

For Merchandising Search Configurations, see the ATG Merchandising Guide for Business Users

Query and response XML; see Troubleshooting Search Results in this guide

Query Processing

The compiled query information is compared against the index. The engine returns XML 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 Guide for ordering results.

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

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

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

Response XML