Drupal is a registered trademark of Dries Buytaert
Protected Pages 3.0.0 Major update available for module protected_pages (3.0.0). Commerce Core 3.3.8 Minor update available for module commerce (3.3.8). Search API HTML Element Filter 1.0.7 Minor update available for module search_api_html_element_filter (1.0.7). Layout Builder Reorder 2.0.1 Minor update available for module layout_builder_reorder (2.0.1). Ban 1.1.0 Minor update available for module ban (1.1.0). Field Formatter Range 2.0.0 Major update available for module field_formatter_range (2.0.0). Field Formatter Range 8.x-1.8 Minor update available for module field_formatter_range (8.x-1.8). UI Patterns (SDC in Drupal UI) 2.0.18 Minor update available for module ui_patterns (2.0.18). Search API Solr 4.3.11 Module search_api_solr updated after 14 months of inactivity (4.3.11). Provus Mega Menu Module provus_mega_menu crossed 1,000 active installs.

This module provides a Search API backend for Manticore Search, a fast and lightweight full-text search engine. It allows you to index Drupal content and search it using Manticore's HTTP JSON API, enabling features like full-text search, semantic search with native embeddings, and faceted search through Views.

A Search API backend for Manticore Search — fast, lightweight, open-source full-text search, connected over Manticore's HTTP JSON API.

The module is a thin, well-tested wrapper over the official manticoresoftware/manticoresearch-php SDK. It brings Manticore to the standard Drupal search stack: index any Search API datasource, build search pages with Views, and add facets with the Facets module. Beyond classic full-text search it also offers semantic and hybrid search: matching by meaning using Manticore's native vector embeddings, on its own or fused with keyword relevance, all configurable in Views with no custom code.

Why Manticore?

Manticore Search is an open-source search engine (GPL-2.0 family, C++ core) designed as a lighter, faster alternative for full-text workloads: low memory footprint, columnar storage, SQL and JSON APIs, and straightforward single-binary deployment. For Drupal sites that have outgrown database search but don't want the operational weight of a Java-based search stack, it is a compelling middle ground.

Manticore also performs vector search with engine-side auto-embeddings: it generates embeddings itself from local sentence-transformer models at index and query time, so Drupal never computes or transmits a vector and no external embedding API or API key is involved. The models run on CPU, with no GPU required, so semantic search works on an ordinary VPS rather than demanding specialised hardware.

How it's built

  • HTTP JSON API only — the module speaks Manticore's JSON API through the official PHP SDK; no MySQL-protocol dependency.
  • Thin backend, clean seams — the Search API backend plugin delegates to a translation layer; the SDK is isolated behind an interface, and a connector plugin system leaves room for alternative transports.
  • Authentication via the Key module — HTTP Basic Auth passwords live in Key entities (configuration, file, or environment providers), not in exported config.
  • Write-path lifecycle events — six events (pre / alter / post, around both indexing and deletion) let other modules inspect or alter every engine write. Documented in the README.
  • Tested against a real engine — unit tests mock the client seam; kernel and functional tests run against a live Manticore server in CI, across the supported Drupal versions.

Feature matrix

Status of the standard Search API backend features (per the server backends and features reference):

Search API feature Key Status Facets search_api_facets ✅ Supported — any indexed field, including per-element counts on multi-value fields Facets with OR operator search_api_facets_operator_or ✅ Supported — multi-select facets keep their sibling counts Autocomplete search_api_autocomplete ✅ Supported More Like This search_api_mlt ✅ Supported — fulfilled by vector similarity (related items via Views) Random sort search_api_random_sort ✅ Supported — via the Global: Random Views sort criterion Spellcheck search_api_spellcheck ❌ Not supported yet Grouping search_api_grouping ❌ Not supported yet Location (data type) location / geohash ❌ Not supported yet

Core search capabilities (no feature key — part of every Search API backend's contract):

Capability Status Full-text search through Views and the Search API query API, including the Direct parse mode ✅ Supported All six built-in field types — text, string, integer, decimal, date, boolean ✅ Supported, single- and multi-value Filtering, including multi-value fields ✅ Supported Sorting on relevance and on field values — every indexed field except full-text fields ✅ Supported Random sort ✅ Supported — shuffles results into a random order Faceting on multi-value fields ✅ Supported — each value is counted separately (per element), with no extra configuration Paging with exact result counts at any depth ✅ Supported Language filtering / multilingual indexes ✅ Supported Search excerpts / highlighting ✅ Supported — engine-native highlighting, <strong> fragments; the core Highlight processor overrides it if enabled Vector / semantic search ✅ Supported — Manticore-native float_vector with engine-side auto-embeddings; pure semantic, RRF hybrid, and intersection modes, via Views

Anything marked not supported is not advertised to Search API, so nothing degrades silently — unsupported features simply don't appear as options.

Requirements

  • Drupal 10.5+ or 11
  • PHP 8.3+
  • A running Manticore Search server — developed and tested against Manticore 27.1.5; support for additional engine versions is added based on user reports.
  • Search API and Key (installed automatically by Composer)

The recommended way to run the engine is the dillix/manticore-docker Compose stack — a local no-auth scenario and a public TLS + Basic Auth scenario behind Caddy, both pre-configured for this module.

Getting started

composer require drupal/search_api_manticore
drush en search_api_manticore

The README covers the rest: server configuration walkthrough, index setup, the recommended Docker stack, troubleshooting, and how to run the test suite.

Maintainer

Activity

Total releases
5
First release
Feb 2025
Latest release
2 weeks ago
Releases (12 mo)
4 ▲ from 1
Maintenance
Active

Release Timeline

Releases

Version Type Release date
1.1.1 Stable Jul 1, 2026
1.1.0 Stable Jun 22, 2026
1.0.0 Stable Jun 8, 2026
1.0.x-dev Dev Jun 7, 2026
1.x-dev Dev Feb 20, 2025