Elastic Path Commerce Development

Faceted Offer Search

Faceted Offer Search

Offer Search Overview

Offer is any tangible or non-tangible collection of entities for sale in a store. An offer represents a product or product bundle defined in Commerce Manager. Using the information returned by the offer resource, a store configured with offer search can implement the following use cases in the front-end:
  • Availability of an offer even if only one SKU is available. If a SKU associated with an offer is unavailable the search result is filtered to remove it from the search results.
  • Price range of offers or starting price an offer in the search result page.
  • Product swatches for all SKUs by using the offer codes that has associated swatch images in the product configuration.
  • On sale and other product promotion information that are configured as offer attributes.
The offer search result consists of offers and each offer in the result consists of:
  • A unique offer code to identify the offer
  • Price ranges for all SKUs
  • Offer attributes
  • Availability of SKUs
  • Offer constituents if the offer is a bundle
  • Items
With offer search configuration, the store-front displays prices at the offer level when a shopper searches for an offer. For the price display, merchandiser can configure attributes to:
  • Display only the list price.
  • Strike through the list price and display the sale or purchase price.
  • Display the price range for the offer list.
  • Display only the starting price in the offer list price or sale price.
  • Strike through the price range list and display sale or purchase price range.

Faceted Offer Search

A store might be configured with product attributes, SKU attributes, SKU options, or other attributes for the entire product catalog in the store. These product details are called facets and the options available in each facet are called facet values. A merchandiser can configure a facet as facetable in Commerce Manager.

For a store with huge catalogs, an offer search query might return a large number of results, and the shopper might have to navigate through the results to find the right item. With the faceted offer search operation, the search engine processes the search query and returns relevant search results with facets and facet values depending on the facet configuration in Commerce Manager.

Faceting is arranging search results into categories based on the indexed terms. Solr returns the number of results for each facet value within each facet category, such as color, brand, or size. The shoppers use facets to refine the search results, and thus searchability on a commerce website improves.

For example, if the size and color attributes in a clothing store are facetable; when a shopper searches for shirts, the search engine returns shirts in all available sizes and colors. A shopper can refine the search results by selecting the required size or color. In this example, size and color are facets and the options in each facet, such as large, small, blue, white, or red, are the facet values. A variant of product corresponding to a specific SKU, such as a large blue shirt, large white shirt, or small blue shirt, represents an offer.
Important: After configuring facets in Commerce Manager, the merchandiser must save the changes to enable facets in the storefront. If the merchandiser does not save the changes, storefront returns the search results without facets for a search query.

Example: Faceted Offer Search Results in Cortex

When you search for an item with the faceted offer search, the search engine returns search result to Cortex as in the following example:
{
  "self": {
    "type": "searches.offer-search-result",
    "uri": "/searches/mobee/offers/qkugwzlzo5xxezdtuvqwy2lfn2uxaylhmuwxg2l2mwqtk=/filters/qgqka=/1",
    "href": "http://api.elasticpath.net/cortex/searches/mobee/offers/qkugwzlzo5xxezdtuvqwy2lfn2uxaylhmuwxg2l2mwqtk=/filters/qgqka=/1"
  },
  "messages": [],
  "links": [
    {
      "rel": "element",
      "type": "offers.offer",
      "uri": "/offers/mobee/qgqvbjlbnruwk3q=",
      "href": "http://api.elasticpath.net/cortex/offers/mobee/qgqvbjlbnruwk3q="
    },
    {
      "rel": "facets",
      "rev": "offersearchresult",
      "type": "searches.facets",
      "uri": "/searches/mobee/offers/qkugwzlzo5xxezdtuvqwy2lfn2uxaylhmuwxg2l2mwqtk=/filters/qgqka=/facets",
      "href": "http://api.elasticpath.net/cortex/searches/mobee/offers/qkugwzlzo5xxezdtuvqwy2lfn2uxaylhmuwxg2l2mwqtk=/filters/qgqka=/facets"
    }
  ],
  "pagination": {
    "current": 1,
    "page-size": 5,
    "pages": 1,
    "results": 1,
    "results-on-page": 1
  }
}
The search result consists of all items that represent each SKU associated with the product or product bundle with the available facets. The facets resource provides the available facets in the front-end to refine the search result.

Related Information: