Lexical Only Search Mode, Readable Locale Facet, and Five Search Fixes

· Search · New Feature · All updates

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.

Hybrid query embedding API call vector + lexical Lexical Only query no embedding call edismax only
Lexical Only removes the embedding round trip from the request path entirely.

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.

Before

hr_hr, sr_sr — raw codes in the sidebar, in the selector panel, and in the active filter pills.

After

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_f block was attached to every query, even on indexes that have nothing to do with commerce.
  • Currency facet. currency_s was 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.

View the full changelog