Milvus 3.0 introduces StructArray for entity- and element-level search, enabling complex data modeling and filtering. This post details the addition of the Array of Structs field type and the MAX_SIM metric, allowing all embeddings for a single entity to be stored in a single record and enabling Milvus to score and return the entity holistically. This eliminates the need for application-layer deduplication, grouping, bucketing, and reranking logic for multi-vector entities. Examples include Wiki. This post elaborates on the practical application of Array of Structs and MAX_SIM for entity-level retrieval, demonstrating how to store multiple vectors and associated metadata within a single record and how the MAX_SIM metric holistically scores entities based on the best match across all their constituent vectors. It provides concrete examples for e-commerce product search and knowledge base retrieval, highlighting the elimination of application-layer deduplication and reranking.
All Milvus trails