Lexical Only Search Mode, Readable Locale Facet, and Five Search Fixes
A new search mode lets you opt out of vector search completely, the Locale facet became readable, and five parameter and JavaScript bugs were fixed across all three platforms.
01 Lexical Only search mode
Search Tuning gains a new Lexical Only mode, in Search Tuning → Search Mode. It is an explicit opt-out from vector: no embedding API call is made at all, and the search runs straight through the lexical edismax path.
It is useful in three situations: when you want deterministic BM25 ranking, when you want to avoid embedding API latency, and when you are on a plan without vector and would rather state that explicitly than rely on the implicit server-side fallback.
When you select it, the Minimum Relevance Score slider auto-zeros itself, and a yellow note explains the coupling. That threshold is calibrated for the combined hybrid score; leaving it at a positive value in pure lexical mode would filter out every result.
02 The Locale facet is readable now
The Locale sidebar facet shows flag icons and language names instead of raw locale codes: hr_hr now reads as Croatian, sr_sr as Serbian, and so on.
hr_hr, sr_sr — raw codes in the sidebar, in the selector panel, and in the active filter pills.
Flag and language name everywhere: Croatian, Serbian, with the correct country flag beside each.
- All Locales panel. The top-right selector panel displays the correct country flag beside each language group.
- Active filters. Locale filters applied from either the sidebar facet or the top-right panel appear as removable pills labelled with flag and name.
- No canonical flag. Languages without one — Latin, constructed codes — show a globe icon instead.
Applied across the Opensolr search page, the Drupal module and the WordPress plugin.
03 Four search parameter fixes
All four are fixed in Opensolr, the Drupal module and the WordPress plugin.
- Wildcard highlighting. Wildcard searches (
*:*) no longer send any highlighting parameters to Solr. Highlighting a catch-all query is meaningless and wastes server cycles. hl.q. The Solr highlight query was incorrectly set to*:*instead of the real search terms, so highlighted snippets never matched the actual keywords.- Stats block. A hardcoded
stats=true / stats.field=price_fblock was attached to every query, even on indexes that have nothing to do with commerce. - Currency facet.
currency_swas hardcoded into the facet field list regardless of whether the index has that field.
04 showPicker SecurityError in cross-origin iframes
A JavaScript SecurityError was thrown when the Opensolr search page is embedded inside a cross-origin iframe: browsers block showPicker() calls from cross-origin frames. The call is now wrapped in a try/catch, so the browser restriction is handled silently instead of surfacing as an uncaught exception that could disrupt other search functionality on the host page.