QdrantVectorStore

org.llm4s.vectorstore.QdrantVectorStore
See theQdrantVectorStore companion object
final class QdrantVectorStore extends VectorStore

Qdrant vector database implementation of VectorStore.

Uses Qdrant's REST API for vector similarity search with support for filtering, payload storage, and multiple distance metrics.

Features:

  • Cloud-native architecture with horizontal scaling
  • HNSW indexing for fast approximate nearest neighbor search
  • Rich filtering on payload (metadata) fields
  • Multiple distance metrics (Cosine, Euclid, Dot)
  • Snapshot and backup capabilities

Requirements:

  • Qdrant server running (docker or cloud)
  • REST API enabled (default port 6333)

Value parameters

apiKey

Optional API key for authentication

baseUrl

Base URL for Qdrant API (e.g., "http://localhost:6333")

collectionName

Name of the collection to use

Attributes

Companion
object
Graph
Supertypes
trait VectorStore
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

override def clear(): Result[Unit]

Clear all records from the store.

Clear all records from the store.

Attributes

Returns

Success or error

Definition Classes
override def close(): Unit

Close the store and release resources.

Close the store and release resources.

Attributes

Definition Classes
override def count(filter: Option[MetadataFilter]): Result[Long]

Count total records in the store.

Count total records in the store.

Value parameters

filter

Optional metadata filter

Attributes

Returns

Record count

Definition Classes
override def delete(id: String): Result[Unit]

Delete a record by its ID.

Delete a record by its ID.

Value parameters

id

The record identifier

Attributes

Returns

Success or error

Definition Classes
override def deleteBatch(ids: Seq[String]): Result[Unit]

Delete multiple records by their IDs.

Delete multiple records by their IDs.

Value parameters

ids

The record identifiers

Attributes

Returns

Success or error

Definition Classes
override def deleteByFilter(filter: MetadataFilter): Result[Long]

Delete all records matching a metadata filter.

Delete all records matching a metadata filter.

Value parameters

filter

The metadata filter

Attributes

Returns

Number of records deleted

Definition Classes
override def deleteByPrefix(prefix: String): Result[Long]

Delete all records with IDs starting with the given prefix.

Delete all records with IDs starting with the given prefix.

Value parameters

prefix

The ID prefix to match

Attributes

Returns

Number of records deleted

Definition Classes
override def get(id: String): Result[Option[VectorRecord]]

Retrieve a record by its ID.

Retrieve a record by its ID.

Value parameters

id

The record identifier

Attributes

Returns

The record if found

Definition Classes
override def getBatch(ids: Seq[String]): Result[Seq[VectorRecord]]

Retrieve multiple records by their IDs.

Retrieve multiple records by their IDs.

Value parameters

ids

The record identifiers

Attributes

Returns

The found records (missing IDs are silently skipped)

Definition Classes
override def list(limit: Int, offset: Int, filter: Option[MetadataFilter]): Result[Seq[VectorRecord]]

List records with pagination.

List records with pagination.

Value parameters

filter

Optional metadata filter

limit

Maximum records to return

offset

Number of records to skip

Attributes

Returns

Records in insertion order

Definition Classes
override def search(queryVector: Array[Float], topK: Int, filter: Option[MetadataFilter]): Result[Seq[ScoredRecord]]

Search for similar vectors using cosine similarity.

Search for similar vectors using cosine similarity.

Value parameters

filter

Optional metadata filter

queryVector

The query embedding

topK

Number of results to return

Attributes

Returns

Matching records with similarity scores

Definition Classes
override def stats(): Result[VectorStoreStats]

Get statistics about the vector store.

Get statistics about the vector store.

Attributes

Returns

Store statistics

Definition Classes
override def upsert(record: VectorRecord): Result[Unit]

Store a vector record.

Store a vector record.

If a record with the same ID exists, it will be replaced.

Value parameters

record

The record to store

Attributes

Returns

Success or error

Definition Classes
override def upsertBatch(records: Seq[VectorRecord]): Result[Unit]

Store multiple vector records in a batch.

Store multiple vector records in a batch.

More efficient than individual upserts for bulk operations.

Value parameters

records

The records to store

Attributes

Returns

Success or error

Definition Classes

Concrete fields

val baseUrl: String
val collectionName: String