cd /news/ai-infrastructure/the-qdrant-output-connector · home topics ai-infrastructure article
[ARTICLE · art-97138] src=opencrawling.org ↗ pub= topic=ai-infrastructure verified=true sentiment=↑ positive

The Qdrant Output Connector

Qdrant, the Rust-based vector database, has been integrated into OpenCrawling's event-driven microservice architecture via a new Qdrant Output Connector that enables sub-millisecond ACL pre-filtering for enterprise RAG, ensuring users only retrieve documents they have explicit rights to see. The connector, which uses the gRPC Java SDK over port 6334, automatically provisions collections and creates KEYWORD payload indexes on security fields such as security_allowed_read and security_denied_read, and is configurable via Spring Boot YAML properties or environment variables.

read3 min views2 publishedAug 14, 2026
The Qdrant Output Connector
Image: source

As AI applications expand across enterprise ecosystems, vector storage demands extreme query throughput, low memory footprint, and strict security guarantees. While vector databases excel at similarity search, enterprise content repositories (like SharePoint, Alfresco, and Iceberg) require document-level Access Control Lists (ACLs) to ensure users only retrieve information they have explicit rights to see.

Qdrant is engineered in Rust with SIMD hardware acceleration, making it one of the fastest vector engines in existence. But what truly sets Qdrant apart for enterprise RAG is its Payload Index Engine. By supporting KEYWORD

payload indexes directly alongside vector points, Qdrant allows filtering by payload attributes (such as user security SIDs) before distance calculations occur, preventing security leaks without sacrificing search performance.

Sub-Millisecond ACL Pre-Filtering: Qdrant's payload index allows OpenCrawling's McpVectorServer

to inject document ACL filters directly into similarity queries, ensuring zero unauthorized vector returns.

02. Architecture & Decoupled Data Flow #

The oc-qdrant-output-connector

integrates directly into OpenCrawling's event-driven decoupled microservice architecture:

Qdrant Output Connector (gRPC)

Repository Ingestion: Repository connectors (Filesystem, Alfresco, Flowable, Camunda, S3) discover documents and publish lightweight claim-check messages to Kafka.Text Extraction & Chunking:IngestionConsumer

extracts clean text via Apache Tika and generates chunked payloads with associated document ACL security SIDs.Scalable Embedding:oc-embedding-service

dynamically computes vector embeddings (via Ollama or OpenAI) and pushes embedded chunks to Kafka.High-Speed Binary Upsert:QdrantStoreWriterConsumer

receives the embedded chunks and uses the gRPC Java SDK (io.qdrant:client

) to upsertPointStruct

batches into Qdrant over port6334

.

03. Automated Collection Provisioning & Payload ACL Indexing #

Upon startup, QdrantCollectionInitializer

verifies whether the configured target collection (e.g. enterprise_kb

) exists. If not, it automatically provisions the collection with the desired vector dimensions and distance metric (COSINE

, DOT

, or EUCLID

).

Simultaneously, the connector creates KEYWORD

payload indexes on the security payload fields:

security_allowed_read

: List of user/group SIDs permitted to access the document.security_denied_read

: Explicit deny SIDs taking precedence over allow rules.

// Example Qdrant Point Payload Structure generated by oc-qdrant-output-connector
{
  "id": "c8a912e4-712d-4b92-b2fa-1092a9f1a091",
  "vector": [0.0142, -0.0521, 0.0892, ...],
  "payload": {
    "text": "Enterprise quarterly financial report and forecasts...",
    "uri": "file:///data/finance/q3_report.pdf",
    "security_allowed_read": ["ROLE_FINANCE", "USER_S-1-5-21-3623811015"],
    "security_denied_read": ["ROLE_EXTERN"],
    "lastModified": "2026-07-29T18:00:00Z"
  }
}

04. Configuration & Deployment #

The Qdrant Output Connector is fully configurable via standard Spring Boot YAML properties or environment variables:

Property Environment Variable Default Description
spring.opencrawling.output.qdrant.host
SPRING_OPENCRAWLING_OUTPUT_QDRANT_HOST
localhost
Hostname of self-hosted Qdrant or Qdrant Cloud instance
spring.opencrawling.output.qdrant.port
SPRING_OPENCRAWLING_OUTPUT_QDRANT_PORT
6334
High-performance gRPC port (default: 6334)
spring.opencrawling.output.qdrant.api-key
SPRING_OPENCRAWLING_OUTPUT_QDRANT_API_KEY
""
Optional API key for Qdrant Cloud or Enterprise cluster
spring.opencrawling.output.qdrant.collection-name
SPRING_OPENCRAWLING_OUTPUT_QDRANT_COLLECTION_NAME
enterprise_kb
Target Qdrant vector collection name
spring.opencrawling.output.qdrant.dimensions
SPRING_OPENCRAWLING_OUTPUT_QDRANT_DIMENSIONS
1024
Vector dimension size (e.g. 1024 for mxbai-embed-large )
spring.opencrawling.output.qdrant.distance
SPRING_OPENCRAWLING_OUTPUT_QDRANT_DISTANCE
COSINE
Vector distance metric (COSINE , DOT , EUCLID )
spring.opencrawling.output.qdrant.quantization
SPRING_OPENCRAWLING_OUTPUT_QDRANT_QUANTIZATION
NONE
Quantization mode (NONE , SCALAR , BINARY )

Automated Integration Test: You can test the end-to-end Qdrant pipeline locally with one command: ./scripts/test-qdrant-decoupled.sh

. The script spins up Qdrant, Ollama, Kafka, and OpenCrawling microservices, injects a test document, and verifies point count in Qdrant.

05. Get Started Today #

The Qdrant Output Connector is available starting in OpenCrawling 1.0.0-SNAPSHOT

. Check out the documentation or run the Docker Compose environment to start building secure, low-latency RAG pipelines with Qdrant!

Ready to Supercharge Your RAG Architecture with Qdrant?

Explore the source code on GitHub, read the Wiki configuration guide, or join our community discussions.

── more in #ai-infrastructure 4 stories · sorted by recency
── more on @qdrant 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/the-qdrant-output-co…] indexed:0 read:3min 2026-08-14 ·