Documentation Home

General Overview

There is now the capability to use nested Solr documents for pricing. This allows for client's
utilizing sales or contract price lists to properly facet, filter and sort by price when considering multiple price lists
on the context. Now when considering multiple contract price lists at once, the lowest price will be the one that is used
for facet counts, for sorting by price, and when filtering to a range of prices.

To enable this functionality is very simple. All that needs to be done is to set the property blPriceLists.use.nested.pricing
to true (this is enabled by default as of 3.2.0-GA), and then trigger a re-build of your Solr index. As always be sure
to test this outside of production the first time you use it to be sure everything gets indexed correctly. Existing
modifications to the way prices are searched and indexed will likely conflict with this new functionality; if this is
your case, reach out and we can help facilitate an upgrade.

Note: Contract/Sale pricing is not indexed by default, as this functionality does not support 100% of Contract/Sale pricing use cases. Enabled using blPriceLists.use.contract.pricing and blPriceLists.use.sale.pricing.

Concepts

The nested pricing functionality was added in order to allow more robust support of pricing scenarios that were not
possible when indexing price fields on the product document directly. The result is that we can now support multiple
concurrent price lists during browse operations.

The new pricing documents are indexed as child documents of the product. This allows us to filter and facet on the child
documents while searching against the product documents. The structure of the pricing document is similar to the
structure of PriceData.

{
  "id": "1",
  "priceListId_l": "1",
  "type_s": "PRICE",
  "namespace": "d",
  "price_p": 13.99,
  "plActiveStartDate_dt": "...",
  "plActiveEndDate_dt": "..."
}