Multilingual Search
Full multilingual support out of the box. Each language/locale gets its own search results, filtered automatically by the current page language. Works with Drupal's Content Translation module โ no configuration needed.
How Multilingual Indexing Works
When a visitor views your site in English (UK), search only returns English UK results. Switch to Finnish, and search shows Finnish results. Automatic โ no configuration needed.
Under the Hood
Sitemap Generation
The module generates /opensolr-sitemap.xml with URLs for every translation of every content type. Each translation gets its own URL with the language prefix (e.g., /en-gb/node/44, /fi/node/44).
Meta Tag Injection
Every page gets <meta property="og:locale" content="en_gb"> and <meta name="language" content="en"> injected automatically. The crawler reads these to set meta_og_locale and meta_detected_language in Solr.
Search Filtering
The search query automatically adds fq=+meta_og_locale:en_gb based on the current Drupal page language. Only results matching the visitor's locale are returned. Monolingual sites skip this filter entirely.
Example: 7-Language Site
A Drupal site with 7 languages and 38 content items produces:
Total: 267 documents from 38 content items ร 7 languages. Each document has the correct locale, language, and content in the right language.
Recommended Crawler Mode
Data Ingestion + Multilingual
The Data Ingestion API handles multilingual automatically:
- Ingest All Now builds documents for every translation of every published node
- Real-time sync pushes the saved translation only (not all translations)
- Each translation gets its own
uri(language-prefixed URL) andmeta_og_locale - Delete removes all translation documents from the index
Zero Configuration
If your Drupal site has the Content Translation module enabled with URL path prefixes (the standard setup), multilingual search works automatically. No settings to configure, no fields to map, no filters to set up.