Skip to content

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