Skip to main content
Version: 2026.3

Installation

info

This bundle requires OpenSearch >= 2.7 and < 3.0 or Elasticsearch >= 8.12.2 (< 9). OpenSearch 3 is not supported yet.

Bundle Installation​

  1. Install the required dependencies:
composer require pimcore/generic-data-index-bundle
  1. Enable the bundle in config/bundles.php:
use Pimcore\Bundle\GenericDataIndexBundle\PimcoreGenericDataIndexBundle;
// ...
return [
// ...
PimcoreGenericDataIndexBundle::class => ['all' => true],
// ...
];
  1. Install the bundle:
bin/console pimcore:bundle:install PimcoreGenericDataIndexBundle
  1. Configure the search client in your Symfony configuration (e.g. config.yaml). See OpenSearch Client Setup or Elasticsearch Client Setup.

  2. Start one or more Symfony Messenger workers for index queue processing. Use a process manager like Supervisor to keep workers running and to restart them: saving a class definition or the system settings stops all messenger workers. See the Symfony Messenger documentation for details, and the Operations Guide for the worker setup with large indices.

bin/console messenger:consume pimcore_generic_data_index_queue scheduler_generic_data_index
Deployment hint

For deployments without database access (e.g. CI pipelines), Doctrine ORM cache warm-up fails because it tries to detect the database version. Configure the server version explicitly in the default DBAL connection:

doctrine:
dbal:
default_connection: default
connections:
default:
...
server_version: mariadb-10.11.0

Post-Installation​

After installation, create the indices and queue all elements for indexing:

bin/console generic-data-index:update:index -r

On an existing database with many elements, the messenger workers need hours to fill the indices; see Capacity Planning, or import an index snapshot instead.