How reidddddd/milvus works
Milvus is a distributed vector database, with a standalone deployment option. Its principal workflow is to define a collection, ingest vector and scalar data, then search vectors and retrieve ranked results; documented extensions include metadata filtering, hybrid and full-text search, multiple index types, multi-tenancy, and access control. The graph combines README-documented behavior with the sampled streaming and serialization code. Several component links are omitted because the excerpts do not establish their specific call wiring.
Main entry points: client.go Go client · SearchOnIndex.cpp Search execution · proxy.go Proxy · read.go Read API
Components 21
Client and schema
- Go client
client/milvusclient/client.go - Write API
client/milvusclient/write.go - Read API
client/milvusclient/read.go - Collection schema
client/entity/schema.go
Serving and coordination
- Proxy
cmd/components/proxy.go - Data coordinator
cmd/components/data_coord.go - Data node
cmd/components/data_node.go - Query coordinator
cmd/components/query_coord.go - Query node
cmd/components/query_node.go
Streaming and ingestion
- Stream pipeline
internal/util/pipeline/stream_pipeline.go - Query pipeline
internal/querynodev2/pipeline/pipeline.go - Storage serializer
internal/flushcommon/syncmgr/storage_serializer.go
Search and indexes
- Search execution
internal/core/src/query/SearchOnIndex.cpp - Query planning
internal/core/src/query/Plan.cpp - Vector indexes
internal/core/src/index/VectorIndex.h - Scalar indexes
internal/core/src/index/ScalarIndex.h
Storage and security
- Object storage
internal/storage/gcp_native_object_storage.go - Segment engine
internal/core/src/segcore/SegmentInterface.h - Access control
client/milvusclient/rbac.go
Other components
- Application
- Search results
Connections 21
- Application → Go client: uses
- Go client → Write API: writes through
- Go client → Read API: searches through
- Go client → Collection schema: defines collections
- Write API → Proxy: sends writes
- Read API → Proxy: sends searches
- Proxy → Data node: routes ingestion
- Proxy → Query coordinator: routes queries
- Data node → Stream pipeline: consumes streams
- Stream pipeline → Storage serializer: serializes sync data
- Storage serializer → Object storage: writes objects
- Query coordinator → Query node: manages query serving
- Query node → Query pipeline: constructs pipeline
- Query pipeline → Stream pipeline: uses stream base
- Query node → Search execution: executes searches
- Search execution → Query planning: uses plans
- Search execution → Vector indexes: searches vectors
- Search execution → Scalar indexes: filters metadata
- Search execution → Segment engine: searches segments
- Read API → Search results: returns results
- Go client → Access control: manages permissions