feat: Add partial reindexing#225
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests.
... and 1 file with indirect coverage changes 🚀 New features to boost your workflow:
|
Confidence Score: 4/5Safe to merge; the incremental reindex logic is well-designed and thoroughly tested, with no observed correctness issues in the happy path. The core indexing and search paths are correct, the cache validation is thorough, and the test suite covers the main edge cases. All observations are non-blocking: BM25 IDF uses the full document count rather than the scored-document count (an API fragility, not a current bug), the
Reviews (1): Last reviewed commit: "Optimizations" | Re-trigger Greptile |
This PR adds partial reindexing support. BM25s is dropped in favor of a custom BM25 implementation that supports adding/removing documents without full rebuilds. Results on our benchmarks:
The scores are basically the same. Queries are a bit slower but still so fast that I don't think it matters. Now the big improvement, tested on Zig (one of the larger repos in our benchmark):