Commit a3ae6eb
committed
feat: Phase 32 — Rust search engine core (codexa-core) with full integration
- Add codexa-core Rust crate: native VectorStore (rayon-parallel inner-product),
BM25 index (identical tokenisation), code chunker, file scanner (blake3),
and RRF hybrid fusion — all exposed via PyO3 bindings
- Add rust_backend.py: unified Python bridge with automatic fallback detection
- Integrate Rust backend into VectorStore: cached RustVectorStore mirror
for accelerated search, dual-format save (vectors.bin + vectors.faiss)
- Integrate Rust BM25 into keyword_search: transparent RustBM25Index
dispatch with in-memory and disk caching
- Integrate Rust RRF into hybrid_search: native reciprocal_rank_fusion_rs
with Python fallback
- Update search_service: detect both vectors.faiss and vectors.bin for
auto-indexing
- Update .gitignore: exclude codexa-core/target/ build artifacts
- All 2596 existing tests pass — zero regressions1 parent 30744e8 commit a3ae6eb
13 files changed
Lines changed: 1447 additions & 3 deletions
File tree
- codexa-core
- src
- semantic_code_intelligence
- search
- services
- storage
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
0 commit comments