Skip to content

Quickstart

This path uses Qdrant REST on port 6333 and an OpenAI-compatible embedding endpoint. If you already store vectors, omit the embedder and use vector input.

  1. Start Qdrant

    Qdrant
    docker run --rm -p 6333:6333 -p 6334:6334 qdrant/qdrant
  2. Configure execution

    Environment
    export QDRANT_URL=http://localhost:6333 export EMBED_URL=http://localhost:11434/v1/embeddings export EMBED_MODEL=all-minilm:l6-v2 export EMBED_DIM=384
  3. Create a collection

    QQLDense collection and filter indexTry in playground
    CREATE COLLECTION docs (
    dense VECTOR(384, COSINE)
    ) WITH HNSW (m = 16, ef_construct = 100);
    CREATE INDEX ON COLLECTION docs FOR category TYPE keyword;
  4. Upsert content

    QQLEmbed text into the dense vectorTry in playground
    UPSERT INTO docs VALUES
    {id: 1, text: 'QQL provides typed vector retrieval', category: 'qql'},
    {id: 2, text: 'Qdrant stores dense and sparse vectors', category: 'qdrant'}
    USING DENSE MODEL 'all-minilm:l6-v2';
  5. Search

    QQLFiltered searchTry in playground
    QUERY TEXT 'typed query language' FROM docs
    USING dense
    WHERE category = 'qql'
    LIMIT 5;

Save the statements as quickstart.qql, then execute the whole script:

Execute the script
qql execute quickstart.qql

Use qql explain "QUERY ..." to inspect a plan without sending it to Qdrant.