If your Oracle ATG Web Commerce catalog uses price lists, a single item may have multiple prices, with the actual price applied depending on who is purchasing the item. A customer is assigned a price list, and when that customer accesses a product or SKU, Commerce looks up the item’s price in that price list. Another customer looking at that same item might see a different price, if that customer is assigned a different price list.
When a customer issues a search query, the results may depend on the correct prices for that customer being present in the index. For example, if the query has a constraint such as “return items whose price is less than $5.00,” the set of items matching this constraint will depend on the price list the customer is assigned. Therefore, Oracle ATG Web Commerce Search must be able to determine which price list is assigned to the user, look up the price in that price list, and apply the constraint based on that price.
There are three key aspects of working with price lists in Search:
Because prices in price lists aren’t stored in properties of the product or SKU, you must create a special property to represent the price in queries. This property can then be used for faceting and in constraints. See Creating the Price Property.
The XHTML document created from a product or SKU must include a price for each price list, so the resulting index will include all of the prices. See Indexing Price List Data.
The search client must determine which price list is assigned to the customer issuing the query, and return the price that is associated with that price list. See Specifying a Price List in the Search Request in the ATG Search Query Guide.