Skip to content

Upstream the fork's two patches to sunspot/sunspot #2

Description

@njakobsen

This fork diverges from upstream by exactly two substantive commits, and both are general-purpose fixes rather than house customizations:

  • facet.matches support (5f769baa) — regex filtering of facet values, the mechanism behind Connect's search autocomplete. Requires Solr ≥ 7.7. Should go up with the per-field fix from facet.matches applies one pattern to every facet in a multi-facet request #1 rather than as-is, plus its integration spec.
  • Exclusive-end ranges (0b5160c7) — Restriction::Between emits [a TO b] for every Ruby range; a range with exclude_end? is a half-open Solr range and should emit [a TO b}. A plain correctness gap upstream.

Upstreaming ends the fork-pin chain: deployments stop needing this fork in their Gemfiles, Connect Engine can retire its sunspot_solr_features.rb carry, and an app pinned to old tooling (RRN) can adopt facet.matches with a version bump instead of a fork.

One retirement trap for the Connect Engine side, recorded here because it is easy to trip: the engine's carry claims to no-op on a Sunspot that already has the behaviour, but that only holds against this fork's identically-shaped global param. Against an upstream per-field implementation, the engine's prepend would add a global facet.matches alongside it — the carry must be removed or version-gated when upgrading, not trusted to no-op.

🤖 Generated with Claude Code

https://claude.ai/code/session_0162sTEdS4eZUe2oi2JioByV

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions