When a search query is issued, the /atg/commerce/search/PriceListPropertyMapping component creates the property mapping dynamically, based on the user’s profile and other settings that you specify through the following properties of the component:

The PriceListPropertyMapping component constructs the propertyMapping tag and sets the value of the PriceListPropertyMapping .priceMapping property to this tag. For example, PriceListPropertyMapping might set priceMapping to:

<propertyMapping>
  price,childSKUs.price@pl90002,childSKUs.price@pl90004
</propertyMapping>

To include the propertyMapping tag in the search request, set the propertyMappings property of the /atg/commerce/search/ProductCatalogParserOptions component by linking to the value of the PriceListPropertyMapping .priceMapping property:

propertyMappings^=\
   /atg/commerce/search/PriceListPropertyMapping.priceMapping

This maps the price property in the query to the childSKUs.price@pl90002 and childSKUs.price@pl90004 properties in the index. The index properties are listed in order of precedence. When the query is executed, Oracle ATG Web Commerce Search looks for the childSKUs.price@pl90002 property for an item. If there is a property by that name, Oracle ATG Web Commerce Search uses the value of that property. If there is no childSKUs.price@pl90002 property (which means that price list pl90002 does not have a price for the item), it uses the price from the childSKUs.price@pl90004 property. So for example, if pl90002 contains sale prices and pl90004 contains list prices, Search uses the sale price if there is one, and otherwise uses the list price.