You can select the Availability model attribute for a sorting rule if you want to place products in order by availability. Usually this is used to push unavailable items to the end of search results. To create a sorting rule, see Creating Sorting Rules.
For information on how to control low SKU coverage, in which some variations of a master product have low availability, see SKU Coverage.
When a customer places an order in the storefront, or a merchant changes the inventory information in the Business Manager or through a feed, the availability index must be updated to reflect these changes. You can use incremental indexing to update the index about every 30 seconds, or by using a scheduled index rebuild at a longer interval.
You can also set an availability low ranking threshold. Select site > Search > Search Preferencestab. If you set an availability threshold, then products with a normalized availability less than this number are pushed to the back of the search results.
You enable the availability ranking search feature on your staging instance. You then enable incremental indexing for the availability indexes. The staging index is purely for testing the value of the availability threshold.
Note: The availability ranking only groups the affected products and pushes them to the end of the search result list. It does not sort the products by descending availability.
The availability rank of a master product is derived from the availability ranks of the variants it represents in the search result.
The availability rank of a product set is derived from the set of products it represents in the search result. For example, a master product isn't moved to the bottom of the search result if at least one of the variants it's representing in the search result is available.
Salesforce B2C Commerce storefront product search features enable your application to filter and sort search results based on inventory data. You can exclude a product from the search results if it's out of stock or pushed up or down in the search results due to low availability. The data used for inventory filtering and sorting is contained in your site or organization's availability search index.
Each site has its own availability search index. Multiple sites that share the same inventory list also share the same search availability index. The incremental or full rebuild of the index is a time and resource critical process, depending on inventory turnover, the number of complex products (variations, bundles, sets) in the storefront catalog, and the sorting rules used in the site. After you rebuild your availability index, it will be built incrementally and automatically. See Search Configuration and Indexes.
The availability indexing process relies completely on the inventory list record data, ignoring the online status of products. In the availability search index, a product is marked as available if it is in-stock, regardless of the online status of the product at indexing time.
The aggregated values for availability-based sorting attributes (Availability, ATS, TimeToOutOfStock, SKUCoverage) for complex products (masters, bundles, sets) are also calculated at search run time. The aggregation takes all subproducts (variants, bundled products, set products) into consideration that are contained in the product search index, even if these products are currently offline (that is, products are contained in the product index, but the online-from date is tomorrow).
Note: B2C Commerce, when filtering and sorting search results based on availability attributes, considers a product's online-from and online-to dates. Because online status isn't considered in the availability indexing process, a product is considered available as soon as its online-from date is reached.