A next-generation distributed search and vector database built for high performance, scalability, and developer experience.
NeuraFind is a distributed, high-performance search and vector database that improves upon Elasticsearch with better performance, cost-efficiency, and developer experience. It supports hybrid search combining full-text, vector, and structured data with a custom LSM-tree storage engine.
- Coordinator: REST/gRPC API, query routing, and result aggregation
- Data Node: Shard management and local query execution
- Storage Engine: Custom LSM-tree with vector indexing (Rust)
- Metadata Store: etcd for cluster state and coordination
- Go: Coordinator and DataNode services
- Rust: Storage engine (LSM-tree, vector search)
- etcd: Cluster metadata and coordination
- gRPC: Inter-service communication
- Protocol Buffers: API contracts and code generation
- Go 1.21+
- Rust 1.70+
- Protocol Buffers compiler
- etcd (for clustering)
# Clone the repository
git clone <repository-url>
cd SearchDb
# Install dependencies
make setup
# Start local development cluster
make dev-start
# Run tests
make testSearchDb/
├── coordinator/ # Go - REST/gRPC API, query routing
├── datanode/ # Go - shard management, local query
├── storage-engine/ # Rust - LSM-tree, compaction, vector index
├── proto/ # Protocol buffers definitions
├── metadata/ # Go - etcd integration, cluster state
├── common/ # Go - shared types, schema DSL
├── docs/ # Documentation
├── scripts/ # Build, test, deployment scripts
├── docker/ # Dockerfiles for all components
└── k8s/ # Helm charts, K8s manifests
curl -X POST "http://localhost:8080/index/books/_doc" \
-H "Content-Type: application/json" \
-d '{
"title": "Building Scalable Systems",
"description": "Guide to distributed architecture...",
"category": "tech",
"price": 29.99,
"embedding": [0.12, 0.34, ...]
}'curl -X POST "http://localhost:8080/index/books/_search" \
-H "Content-Type: application/json" \
-d '{
"query": {
"hybrid": {
"text": { "match": { "title": "distributed systems" } },
"vector": { "field": "embedding", "query_vector": [0.1, 0.2, ...] },
"filter": { "term": { "category": "tech" } }
}
},
"size": 10
}'See docs/implementation-checklist.md for detailed implementation progress and roadmap.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
[License information to be added]