Skip to main content
drupalreleases

Use direct release data with your AI assistant.

Learn more

Search API Luxir

Security covered Under active development

Part of the Search ecosystem · 124 projects

Search API Luxir connects your Drupal site to Luxir, a fast open-source search engine, so your site search can return more relevant results, filters and facets than Drupal's built-in database search.

Out of the box, Drupal searches content using its own database. That works for small sites, but it gets slower and less accurate as content grows. A dedicated search engine is built to rank results by relevance, handle large amounts of content, and power features like "filter by category" sidebars. This module lets the Search API module use Luxir as that engine. You keep building your search pages with the Drupal tools you already know, like Views and Facets, and Luxir does the searching.

Status: This module is under active development, and Luxir itself is pre-1.0. Try it on development and staging sites, and please report what you find in the issue queue.

Features

  • A Luxir backend for Search API. Choose Luxir when you create a Search API server, just as you would choose Solr or the database.
  • Full-text search with relevance ranking. Results are ranked with BM25, and you can boost fields, so a match in a title counts for more than a match in body text.
  • Filters, sorting and paging on text, numbers, dates and other fields, through Views or your own code.
  • Facets, including "OR" facets. Works with the Facets module, so visitors can narrow results by category, author, date and more. Counts are exact.
  • Automatic schema management. There are no configuration files to download, copy or upload. When you add or change fields in your index, the module updates Luxir for you and tells you when content needs reindexing.
  • One Luxir server, many sites. Each index gets its own isolated collection, named per site, so development, staging and several sites can share one server safely.
  • Drush commands and a status page to check the connection, sync the schema, and rebuild an index's collection.
  • Connection plugins for a plain connection, or for a Luxir server behind a proxy that uses basic or token authentication.

When to use it: when your site has outgrown database search, when you want faceted search without running Java-based infrastructure like Solr or OpenSearch, or when you want a lightweight engine for local development and small-to-medium sites. Luxir runs as a single program on a single machine.

Post-Installation

  1. Run a Luxir server. For local development, the ddev-luxir add-on does it with two commands: ddev add-on get ipwa/ddev-luxir and ddev restart. Elsewhere, download Luxir from luxir.org and start it with filesystem storage (--store.backend=fs), or it will keep your index in memory and lose it on restart.
  2. Enable the module (it enables Search API if needed).
  3. Add a server at Configuration » Search and metadata » Search API » Add server. Choose Luxir as the backend and enter the host and port. In DDEV, the host is luxir and the port is 9400. Don't use localhost. The server page shows whether Drupal can reach Luxir.
  4. Add an index on that server, choose what content to index, and add fields as you would for any Search API backend. The module creates the Luxir collection and its schema for you.
  5. Index your content from the index page or with drush search-api:index.
  6. Build your search page with Views, using the index as the view's base table. Add facets with the Facets module if you want them.

No new content types or text formats are involved. Everything is set up through Search API's normal screens.

Additional Requirements

  • Drupal 11.3 or later. Drupal 12 support will follow once Search API supports it.
  • Search API 8.x-1.41 or later.
  • A running Luxir 0.1.x server. Luxir releases are built for Linux on x86-64. On Apple Silicon Macs it runs under emulation (the ddev-luxir add-on handles this).

Similar projects

  • Search API Database (included with Search API) needs no extra server, but relevance and speed drop as content grows, and facet support is limited. Choose it for small sites with simple needs.
  • Search API Solr is the most mature and full-featured option. It supports many languages, spellcheck, "more like this" and clustering. Solr needs Java and more setup. Choose Solr when you need those features or a replicated cluster.
  • Search API OpenSearch and Elasticsearch Connector connect to distributed, Java-based engines suited to large deployments.
  • Hosted and lightweight engines such as Typesense and Meilisearch also have Search API integrations.

What sets Luxir apart is that it's a single native program with no Java runtime, it manages its schema over its API so there are no config files to deploy, and it returns results, exact facet counts and statistics in one request.

Supporting this Module

The most helpful thing right now is testing: try the module on a development site and report bugs, gaps and ideas in the issue queue. Upstream Luxir issues go to the Luxir project on GitHub.

Community Documentation

Important: security and current limits

Luxir has no built-in authentication or encryption. Never expose a Luxir server directly to the internet. Keep it on a private network, or put it behind a proxy that adds authentication and TLS. This module's proxy connection plugins are for that setup.

Features Luxir doesn't offer yet, so this module can't either:

  • Word stemming for languages other than English. Other languages are searched without stemming.
  • Stopwords and synonyms.
  • Spellcheck ("did you mean") and "more like this".
  • Built-in search highlighting. Use Search API's Highlight processor instead.
  • Replication, clustering and online backups. Luxir runs on a single server.

Luxir's interfaces may change before its 1.0 release. The module tracks those changes, and the tested Luxir version appears on Drupal's status report.

Drupal 11 · not 10 PHP >=8.3

Ask your assistant about Search API Luxir

Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works

Depends on

Dependencies of the latest stable release

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Oct 2026
Latest release
2 hours ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Active

Releases

Version Type Core PHP Release date
1.0.0 Stable 11 PHP >=8.3 Oct 12, 2026