Skip to main content
A full catalog index exports all your B2C Product objects with all their configured attributes. For more information, see Indexing attributes. The two use cases for full catalog index updates are: In both cases, use the AlgoliaProductIndex_v2 job for indexing product, price and inventory data, and the AlgoliaCategoryIndex_v2 job for indexing category data. For an overview of the Algolia B2C jobs, see Indexing Overview.

Indexing products with AlgoliaProductIndex_v2

This job performs a full catalog index. You can use it for initial product indexing or for periodically reindexing your entire catalog. Which objects are included: All B2C Product objects assigned to the configured site and their related price and inventory data.

Job configuration

You can find the Job configuration in the Job Steps tab.

Scope

Change the scope to Specific Sites and select all the sites youโ€™d like to run the job for.

algoliaProductIndex job step parameters

  • attributeListOverride (comma-separated values, empty by default): if set, only this list of properties is exported by the job, otherwise the base attributes and the values from the Additional Product Attributes site preference are used.
  • indexingMethod:
    • fullCatalogReindex: reindex all products and remove stale records.
    • partialRecordUpdate: only the specified attributes are updated or added for each record without affecting other attributes. If the record doesnโ€™t exist, a new one is created.
    • fullRecordUpdate: replace the entire record or create new records in the index with the specified data without removing stale or deleted records.
  • failureThresholdPercentage (integer, default: 0): the maximum percentage of records allowed to have errors during indexing. For example, if the threshold is 10%, the indexing job fails if more than 10% of your records have an error during indexing. If indexingMethod is fullCatalogReindex, the temporary index isnโ€™t moved to production if the failure rate exceeds this threshold. For other methods, successfully imported records successfully are kept in the Algolia indices.
  • localesForIndexing (comma-separated values, empty by default): if set, only this list of locales are indexed, otherwise the job uses the value of the LocalesForIndexing custom preference.
By default (with its indexingMethod parameter set to fullCatalogReindex), this job performs an atomic reindex (also called a zero-downtime reindex). This method indexes all your records to a temporary index, <INDEX_NAME>.tmp (keeping your previous index settings), and moves (renames) the temporary index to the final one on completion. This guarantees that your index is never empty and is the safest way to reindex all your product data.

Indexing categories with AlgoliaCategoryIndex_v2

This job creates your category indices. The category index stores your category structure. Use it for initial category indexing or for periodically reindexing all your categories.

Product filtering

Starting with version 25.4.0, the product filters have been aligned with Salesforce B2C Commerceโ€™s default search capability.

Default filtering criteria

By default, products must meet all of the following criteria to be indexed:
  • Online status: The productโ€™s online flag must be true
  • Searchable: The productโ€™s searchable flag must be true
  • Category assignment: The product must be assigned to at least one online category
For variant products, the category check is performed on the base product since variants inherit category assignments from their base product in SFCC.
These filters apply to both full indexing (AlgoliaProductIndex_v2) and delta indexing (AlgoliaProductDeltaIndex_v2) jobs.

Customizing filter behavior

You can customize the filtering behavior by creating a configuration file:
  1. Go to the int_algolia cartridge directory: cartridge/configuration/
  2. Copy productFilterConfig.example.js to productFilterConfig.js
  3. Modify the configuration as needed:
JavaScript
const productFilterConfig = {
    // Control whether to include offline products in indexing
    // Default: false (exclude offline products)
    includeOfflineProducts: false,

    // Control whether to include non-searchable products in indexing
    // Default: false (exclude non-searchable products)
    includeNotSearchableProducts: false,

    // Control whether to include products without online categories in indexing
    // Default: false (exclude products without online categories)
    includeProductsWithoutOnlineCategories: false
};

module.exports = productFilterConfig;

Impact on delta indexing

The filtering also affects delta indexing jobs. If a product no longer meets the filter criteria (for example, itโ€™s taken offline), it will be automatically removed from the Algolia index during the next delta job run. If a base products with variants no longer meets the filter criteria, all the variants are removed from the Algolia index.

Stock-based filtering

In addition to product status filters, the cartridge supports stock-based filtering through Business Manager preferences:
  • InStock Threshold: minimum available-to-sell (ATS) value to consider a product in stock (default: 0)
  • Index out of stock products: whether to index out-of-stock products (default: false)
โŒ˜I