v0.2.0
The "full search product" release: geo, autocomplete, semantic hybrid, facet counts, highlighting, and incremental publishing — all static, all over HTTP range requests.
Live demos: https://xjodoin.github.io/rangefind/
Added
- Geo queries (Lucene
LatLonPoint-class, adapted to range requests): bounding-box and radius filters, exact nearest-neighbor distance sort with early-stop proofs, text+geo filtering, and distance boosts. Verified against exhaustive oracles at 175k and 4.27M points. - Search-as-you-type autocomplete: a prefix-sorted suggestion sidecar with per-page weight proofs and precomputed hot pages — a first keystroke is ~2 requests / ~13 KB at 4.27M docs.
- Hybrid semantic search: an int8 IVF vector index with reciprocal-rank fusion against the text lane; full-probe recall@10 = 0.98 against brute force.
- Per-query facet counts with exact-or-flagged semantics.
- Snippets and highlighting, analyzer-consistent.
- Incremental publishing (Phase 1):
rangefind build --updateadds delta generations; unchanged pack bytes keep their CDN cache entries and scores stay comparable across generations. - OpenStreetMap map demo and semantic search in the wiki example.
Fixed
- The minimal example page loaded a source path that doesn't exist on static deploys.
- Posting shard parsing could misalign on block-filter summaries without a manifest.
See CHANGELOG.md for the full list.