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:
price
The name of the price property created in thePriceListPropertyProvidercomponent. The default isprice.
priceLists
An ordered array of the profile properties that specify price lists assigned to the user. The order of the properties determines the order of precedence when querying the search index. The default ispriceList.
pricePropertyPrefix
The prefix for the price property in the XHTML document. This must match the prefix specified in thepricePropertyPrefixproperty of thePriceListMapPropertyAccessorcomponent. The default ischildSKUs.price@.
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.

