search_api_aeldris
No security coverage
Features
- Search API Backend Plugin — Register Aeldris as a Search API server backend. Configure API credentials, client ID, and batch size at the server level.
- Asynchronous Queue-Based Indexing — Content is batched and sent to Aeldris via Drupal's Queue API. Four dedicated queue workers handle indexing, deletion, PDF processing, and status synchronization.
- Real-Time Progress Tracking — A live progress bar on Search API index pages shows pending, processing, completed, and failed items with optional 2-second auto-polling.
- PDF/Document Processing — Automatically detects PDF file attachments and indexes them separately through a dedicated queue worker.
- Configurable Field Mapping — Map index fields to Aeldris locations (data/metadata/both) and types (plain_text/html/dynamic_rendered_html).
- Token-Based Unique IDs — Generate unique identifiers for indexed items using configurable token patterns (e.g.,
[bundle]_[id]). - Admin Dashboard — A comprehensive dashboard with tabs for Overview, Queue Management, Index Details, and API Status. Includes connection testing, queue health indicators, and performance metrics.
- Test Mode — Limit the number of items indexed for testing without affecting production data.
- Rendered HTML Indexing — Index fully rendered entity HTML (including Layout Builder layouts) for rich search results.
Requirements
- Drupal 10.1+ or 11.x
- PHP 8.1+
- Search API (^1.0)
- An active Aeldris platform account with API credentials
Installation
- Install via Composer:
composer require drupal/search_api_aeldris - Enable the module:
drush en search_api_aeldris -y - Clear caches:
drush cr
Configuration
- Navigate to Admin → Configuration → Search → Search API
- Add a new server and select "Aeldris" as the backend
- Enter your Aeldris API URL, API Key, and Client ID
- Create or edit an index using the Aeldris server
- Configure the Aeldris Index ID, unique ID pattern, and field mappings
- Use the Queue Status Dashboard to monitor indexing progress