Legend
Section titled “Legend”| Symbol | Meaning |
|---|---|
| ✅ | Fully supported |
| ⚠️ | Partially supported or known limitations |
| ❌ | Not supported |
| 🐹 | Go (qql-go) only |
Collection Management
Section titled “Collection Management”Collection Operations
qql-go Qdrant API
| Feature | Qdrant API | Go qql-go | Notes |
|---|---|---|---|
| Create collection | create_collection | ✅ v0.1 | |
| Create with HNSW config | hnsw_config | ✅ v0.2.0 | WITH HNSW (...) |
| Create with quantization | quantization_config | ✅ v0.4.0 | WITH QUANTIZATION (type = 'scalar'|'binary'|'product'|'turbo', ...) |
| Create with on-disk payload | on_disk_payload | ✅ v0.2.0 | WITH PARAMS (on_disk_payload = true) |
| Create with optimizer config | optimizers_config | ✅ v0.2.0 | WITH OPTIMIZERS (...) |
| Create with vectors config | vectors_config | ✅ v0.2.0 | WITH VECTORS (on_disk = true) |
| Create with collection params | CollectionParams | ✅ v0.2.0 | WITH PARAMS (replication_factor = N, ...) |
| Create with multivectors | multivector_config | ✅ v0.5.0 🐹 | WITH MULTIVECTOR (comparator = 'max_sim') + HNSW (m = 0) |
| Alter collection | update_collection | ✅ v0.2.0 | |
| Alter with quantization disable | Disabled.DISABLED | ✅ v0.2.0 | WITH QUANTIZATION (disabled = true) |
| Create with sparse vectors | sparse_vectors_config | ✅ v0.1 | Via HYBRID |
| Drop collection | delete_collection | ✅ v0.1 | |
| List collections | get_collections | ✅ v0.1 | SHOW COLLECTIONS |
| Collection info | get_collection | ✅ v0.2.0 | SHOW COLLECTION <name> |
| Collection aliases | create_alias | ❌ | |
| Collection snapshots | create_snapshot | ❌ |
Points / Documents
Section titled “Points / Documents”| Feature | Qdrant API | Go qql-go | Notes |
|---|---|---|---|
| Insert single point | upsert | ✅ v0.1 | Requires id field |
| Insert bulk | upsert (batch) | ✅ v0.1 | Comma-separated VALUES |
| Insert with named vectors | upsert (multivector) | ✅ v0.5.0 🐹 | 'vector': {'dense': [...], 'colbert': [[...]]} |
| Get point by ID | retrieve | ✅ v0.1.4 | SELECT statement |
| Update payload | set_payload | ✅ v0.1.5 | UPDATE ... SET PAYLOAD |
| Update vector | update_vectors | ✅ v0.5.0 | UPDATE ... SET VECTOR ['name'] |
| Delete point by ID | delete | ✅ v0.1 | |
| Delete points by filter | delete (filter) | ✅ v0.1 | DELETE FROM ... WHERE |
| Delete payload keys | delete_payload | ❌ | |
| Count points | count | ❌ | |
| Scroll points | scroll | ✅ v0.1.4 | SCROLL statement |
Search
Section titled “Search”| Feature | Qdrant API | Go qql-go | Notes |
|---|---|---|---|
| Dense search | query_points | ✅ v0.1 | |
| Hybrid search (RRF) | query_points + Fusion.RRF | ✅ v0.1 | |
| Sparse-only search | query_points (sparse) | ✅ v0.1 | USING SPARSE |
| Exact search | exact=true | ✅ v0.1 | EXACT clause |
| HNSW ef tuning | search_params.hnsw_ef | ✅ v0.1 | WITH (hnsw_ef = N) |
| ACORN filtered search | search_params.acorn | ✅ v0.1 | WITH (acorn = true) |
| Search with filters | filter | ✅ v0.1 | WHERE clause |
| Grouped search | query_points_groups | ✅ v0.1.5 | GROUP BY ... [GROUP_SIZE ...] |
| Search pagination | offset | ✅ v0.2.0 | OFFSET <n> |
| Batch search | query_batch | ✅ v0.4.0 | ExecBatch or BatchQuery via gateway |
| MMR diversity | diversity param | ✅ v0.2.0 | WITH (mmr_diversity = D, mmr_candidates = N) |
| Score boosting | formula | ✅ v0.4.0 | BOOST expression clause |
| Multivector search | multivector | ✅ v0.5.0 🐹 | Named vectors + late-interaction |
| Rerank (cross-encoder) | rerank | ⚠️ v0.1 cloud only | Local/external rerank not implemented |
| ORDER BY | OrderBy variant | ✅ v0.3.0 | QUERY ORDER BY field |
| SAMPLE | Sample_Random | ✅ v0.4.0 | QUERY SAMPLE |
Recommend
Section titled “Recommend”| Feature | Qdrant API | Go qql-go | Notes |
|---|---|---|---|
| Recommend by examples | recommend | ✅ v0.1 | QUERY RECOMMEND WITH (positive = ...) |
| Positive/negative IDs | positive / negative | ✅ v0.1 | |
| Strategy selection | strategy | ✅ v0.1 | average_vector, best_score, sum_scores |
| Cross-collection lookup | lookup_from | ✅ v0.1 | LOOKUP FROM |
| Named vector usage | using | ✅ v0.1 | USING '<vector>' |
Context / Discover
Section titled “Context / Discover”| Feature | Qdrant API | Go qql-go |
|---|---|---|
| Context pairs search | context | ✅ v0.3.0 |
| Discover with target | discover | ✅ v0.3.0 |
Payload Indexes
Section titled “Payload Indexes”| Type | Go qql-go |
|---|---|
keyword | ✅ v0.1 |
integer | ✅ v0.1 |
float | ✅ v0.1 |
bool | ✅ v0.1 |
uuid | ✅ v0.1 |
datetime | ✅ v0.1 |
geo | ✅ v0.1 |
text | ✅ v0.1 |
Version Matrix
Section titled “Version Matrix”| QQL Version | Min Qdrant | Recommended |
|---|---|---|
| Go 0.4.0 | 1.13.0 | 1.13.x |
| Go 0.5.0 | 1.13.0 | 1.13.x |
Known Limitations
Section titled “Known Limitations”| Issue | Status |
|---|---|
| Local rerank not available | RERANK cloud-only |
| Sparse BM25 differs from Python FastEmbed path | Expected — different implementations |
OFFSET not compatible with GROUP BY | By design |
| Collection aliases | Not implemented |
| Collection snapshots | Not implemented |
| Count points | Not implemented |
| Delete payload keys | Not implemented |