Overview#
LUNA Vector Search Module is a module for creating vector collections based on user-provided LUNA PLATFORM 5 descriptor sets, designed to enable flexible and high-performance event matching. LVSM allows you to:
- Organize fast and flexible search across billions of vectors (descriptors) using the Qdrant vector database.
- Create collections with automatic data synchronization from LUNA PLATFORM (synchronization only includes adding and deleting events), supporting filtering based on parameters (e.g.,
account_id,create_time). - Integrate with existing LUNA PLATFORM infrastructure via the Python Matcher Proxy plugin system.
LUNA PLATFORM offers several matching mechanisms:
- Search based on persistent storage (Postgres) — Flexible but not always fast enough.
- Cached Matcher plugin — Fast but inflexible, suitable only for face matching without support for additional filters.
- LIM — Efficient approximate matching, but supports only face descriptors.
Unlike the tools mentioned above, which work only with faces, LUNA Vector Search Module expands the capabilities for fast event matching, providing a balance between performance and flexibility. The core principle is the separation of storage and computation:
- Persistent data storage — Postgres.
- Specialized search solution, optimized for vector data and large datasets — vector database Qdrant.
The search process involves comparing a given descriptor against a set of descriptors, allowing computation of similarity scores and identification of the closest matching descriptors from the user-provided set.
This document includes the section General concepts, which covers:
- Description of collections
- Description of the Qdrant database
- Descriptor parameter specifications
- Description of the search plugin