Drupal is a registered trademark of Dries Buytaert
cms 2.1.2 Update released for Drupal core (2.1.2)! drupal 11.1.10 Update released for Drupal core (11.1.10)! drupal 10.5.10 Update released for Drupal core (10.5.10)! drupal 10.4.10 Update released for Drupal core (10.4.10)! drupal 11.2.12 Update released for Drupal core (11.2.12)! drupal 11.3.10 Update released for Drupal core (11.3.10)! drupal 10.6.9 Update released for Drupal core (10.6.9)! drupal 10.6.8 Update released for Drupal core (10.6.8)! drupal 11.3.9 Update released for Drupal core (11.3.9)! drupal 11.3.8 Update released for Drupal core (11.3.8)! drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! linkit 7.0.15 Minor update available for module linkit (7.0.15). views_data_export 8.x-1.10 Minor update available for module views_data_export (8.x-1.10).

The AI Semantic Expansion module enriches your Search API indexes with AI-generated synonyms and search intent phrases, enabling semantic search on standard relational databases (MySQL, MariaDB, PostgreSQL) — no vector database required.

When a node is saved, the module queues it for processing. A background queue worker sends the node's content to your configured LLM provider (via the Drupal AI module) and stores the generated synonym text in a local cache table. During Search API indexing, the processor injects that cached text into a virtual field (ai_semantic_synonyms), which can be mapped and boosted like any other fulltext field.

Key features

  • Zero live HTTP calls during indexing. All AI generation happens in the background queue worker; the Search API processor only reads from the local cache.
  • Hash-based deduplication. The cache row is only regenerated when the source content actually changes, preventing redundant API calls.
  • Provider-agnostic. Works with any chat-capable provider configured in the Drupal AI module (OpenAI, Anthropic, Ollama, and others).
  • Configurable per index. Source fields, character limit, system prompt, and AI provider are all set on the Search API processor configuration form.
  • Bulk pre-warm command. Run drush ai-expand:batch to pre-populate the cache for all existing nodes before the first indexing run.
  • Cache management. A “Flush AI cache” button on the processor form lets administrators clear and regenerate all entries. Changing the LLM prompt automatically invalidates the cache and notifies administrators to re-run the batch command.

Requirements

  • Drupal 10.4 or 11
  • Drupal AI module with at least one chat-capable provider configured
  • Search API module with an active index

Installation

  1. Enable the module: drush en ai_semantic_expansion
  2. Run database updates: drush updb
  3. Go to your Search API index → Processors and enable AI Semantic Expansion.
  4. Go to Fields and add the AI Semantic Synonyms virtual field; set its type to Fulltext and apply a boost weight.
  5. Pre-warm the cache for existing content: drush ai-expand:batch
  6. Re-index: drush search-api-index

Activity

Total releases
4
First release
May 2026
Latest release
2 days ago
Release cadence
0 days
Stability
0% stable

Release Timeline

Releases

Version Type Release date
1.0.0-alpha3 Pre-release May 19, 2026
1.0.0-alpha2 Pre-release May 19, 2026
1.x-dev Dev May 19, 2026
1.0.0-alpha1 Pre-release May 19, 2026