Summary
Add an optional, default-off serde feature that derives Serialize/Deserialize for SearchResults.
SearchResults holds flat Vec<f32> / Vec<i64> + two usize (src/lib.rs:112) — trivially serializable. Behind a feature gate this lets callers log results, cache them (Redis), put them on a message queue, or pipe them to a downstream ranker without writing their own serializer.
Notes
- Zero impact on the default build — no new default dependency.
docs.rs already builds default-features-only, so this stays off the published docs surface.
- Keep it scoped to
SearchResults for now (not the index types — their formats are the .tvr* file magics, which already have write/load).
Acceptance
Filed from an external technical review (May 2026); verified against v0.2.0.
Summary
Add an optional, default-off
serdefeature that derivesSerialize/DeserializeforSearchResults.SearchResultsholds flatVec<f32>/Vec<i64>+ twousize(src/lib.rs:112) — trivially serializable. Behind a feature gate this lets callers log results, cache them (Redis), put them on a message queue, or pipe them to a downstream ranker without writing their own serializer.Notes
docs.rsalready builds default-features-only, so this stays off the published docs surface.SearchResultsfor now (not the index types — their formats are the.tvr*file magics, which already havewrite/load).Acceptance
serdeoptional feature, off by defaultcargo build/cargo testunchanged without the feature--features serdeFiled from an external technical review (May 2026); verified against v0.2.0.