What you get
- Pre-indexing transformations. Reshape records with JavaScript before they land in the index. You author and manage these in the Algolia dashboard. See Transform your data with code.
- Collections that stay up to date. Sending record updates through the pipeline keeps your Collections current as your catalog changes, instead of waiting for the periodic reindex. The backend hooks that maintain Collections only run on the Ingestion path. With direct indexing, they’re never called.
- Observability. Every indexing operation appears in the Ingestion runs and events views, so you can inspect exactly what was sent and what happened to it.
Requirements
- PHP 8.3 or later (8.3, 8.4, and 8.5 are supported).
- Adobe Commerce or Magento Open Source 2.4 or later.
- The Algolia AI Search & Discovery extension, version 3.19 or later. The send path that Ingestion plugs into was introduced in 3.19.
- Algolia credentials already configured for the extension. Ingestion reuses the same application ID and Admin API key.
Install the module
1
Install with Composer
setup:upgrade creates the local table that caches the Ingestion pipeline for each store and index,
so the extension doesn’t have to resolve it on every operation.2
Enable Algolia Ingestion
Go to Stores > Configuration > Algolia Search > Indexing Manager > Algolia Ingestion
and set Enable Algolia Ingestion to Yes for the scopes that should use it.
Configure your Algolia credentials at
Stores > Configuration > Algolia Search > Credentials and Basic Setup before enabling Ingestion.
The module reuses the same application ID and Admin API key as the extension.
Configure
All settings live under Stores > Configuration > Algolia Search > Indexing Manager > Algolia Ingestion. You can set each one at the default, website, or store view level, so you can enable Ingestion for some stores and not others.
Changing your credentials or region automatically clears the cached pipeline,
so the next indexing operation re-resolves against the new target.
Set the correct region
The Ingestion Platform derives its host from the region string alone and never validates it against your application. A mismatch is a silent failure: records still reach the index in your application’s home region, so indexing appears to work, but the connector configuration is stranded in the wrong region’s control plane. It’s invisible in your dashboard, which means you can’t attach transformations or inspect runs and events for it. If you run stores against applications in different regions, set the region per store scope and confirm each store’s connector appears in the matching regional dashboard.How indexing flows through the pipeline
The Ingestion Platform models indexing as a pipeline:- Source receives records pushed from your store.
- Task binds a source to a destination and is what the extension actually pushes to.
- Transformation is optional JavaScript that reshapes records before they’re indexed.
- Destination is the target Algolia index, paired with the credentials to write to it.
algolia:ingestion:init command. Any additional section indices resolve lazily the
first time they’re pushed.
Collections support
Enabling Ingestion is what makes backend Collections work with the extension. Collections rely on transformation hooks that run as records pass through the Ingestion pipeline. On the direct write path those hooks are never called, so Collections aren’t populated from the backend. Define your transformations and Collections in the Algolia dashboard. The module handles delivery to the pipeline. The transformation logic lives in Algolia.When Ingestion writes index settings (such as the facet attributes a transformation manages),
version 3.19 of the extension preserves those externally managed settings on the next reindex
instead of overwriting them.
Fallback behavior
The Fallback to direct indexing on error setting controls what happens when a push can’t be delivered, for example if the task has been disabled in the Algolia dashboard.- Enabled (default): the operation falls back to direct indexing, so indexing never silently stops.
- Disabled: the error is raised and the operation fails loudly.
When a task is disabled in Algolia
You can disable a task in the Algolia dashboard at any time, without changing anything in your store. The extension treats a disabled task as a deliberate choice, not as a broken or missing pipeline:- It keeps its link to the task, so indexing resumes on its own once you re-enable the task. You don’t need to run a command or clear a cache.
- It won’t recreate the task or quietly reroute your data through a different one.
- What happens to indexing in the meantime depends on your Fallback to direct indexing on error setting. With fallback on (the default), records keep reaching Algolia through direct indexing. With fallback off, indexing operations fail until you re-enable the task.
CLI commands
The module adds three commands under thealgolia:ingestion: namespace.
Each takes an optional list of store IDs. With none supplied, the command operates on all enabled stores.
Warm the pipeline cache for the standard indices on each store. It’s idempotent, so indices that are
already cached are skipped:
--api-cleanup to also remove the matching
Algolia-side resources. The command previews the plan first and only deletes resources the module owns.
Use --force to skip the confirmation prompt:
Logging and troubleshooting
Enable logging at Stores > Configuration > Algolia Search > Credentials and Basic Setup > Enable Logging and watchvar/log/algolia.log for push responses, retries, and fallback events.
For more on diagnosing indexing issues, see
Logging and debugging.