When a visitor enters a search term on a web site that uses Search Merchandising, the software determines which search configuration to apply, and includes this information in the query it sends to Search. The logic used to select the search configuration is based on the tree structure you create in Merchandising. This structure can take into account three dimensions:
Language: Lets you target search results by language. This is useful if your site is in multiple languages or has visitors from different countries
User segment: Lets you target search results to a group of people in your target audience. You create segments in ATG Targeting and Segmentation by defining rules that include or exclude users according to their profile properties.
Site: In a multisite environment, lets you target specific search results to visitors searching from specific registered sites.
The dimension tree structure is stored as repository items in the RefinementRepository
. When the product catalog is deployed to the target site, this repository is deployed as well.
The dimension services that create the tree structure in Merchandising, /atg/search/config/LanguageDimensionService
, /atg/commerce/search/config/SiteDimensionService
, and /atg/commerce/search/config/SegmentDimensionService
, are also present on the Search client environment. When a site visitor submits a query entered in a search form, the form handler invokes the /atg/commerce/search/config/SearchConfigNameService
component, which uses these services to traverse the dimension tree based on the visitor’s language (locale), the user segments he or she is a member of, and the current site. It proceeds through the tree until it finds the first search configuration that matches these values. It then adds a reference to this search configuration to the query. The search configuration rules are applied to the results returned. If there is no matching search configuration, then no search configuration rules are applied.