From df23e9d1ccb10cbd2e84745df7108ef67fd37599 Mon Sep 17 00:00:00 2001 From: "Hsekumsti@gmail.com" Date: Fri, 28 Nov 2025 07:11:41 +0530 Subject: [PATCH] Fix Qdrant cloud indexing: Add keyword index for 'type' field during collection creation --- src/intugle/core/semantic_search/crud.py | 10 +++++++++- src/intugle/core/vector_store/qdrant.py | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/intugle/core/semantic_search/crud.py b/src/intugle/core/semantic_search/crud.py index c2236a5..6bd26a0 100644 --- a/src/intugle/core/semantic_search/crud.py +++ b/src/intugle/core/semantic_search/crud.py @@ -50,7 +50,15 @@ def configuration(self): } embeddings_configurations = {**embeddings_configurations, **config} - configuration = QdrantVectorConfiguration(vectors_config=embeddings_configurations) + # Payload schema with keyword index for "type" field required for filtering + payload_schema = { + "type": models.PayloadSchemaType.KEYWORD, + } + + configuration = QdrantVectorConfiguration( + vectors_config=embeddings_configurations, + payload_schema=payload_schema + ) return configuration diff --git a/src/intugle/core/vector_store/qdrant.py b/src/intugle/core/vector_store/qdrant.py index f83301e..3d6eb55 100644 --- a/src/intugle/core/vector_store/qdrant.py +++ b/src/intugle/core/vector_store/qdrant.py @@ -21,6 +21,8 @@ class QdrantVectorConfiguration(BaseModel): sparse_vectors_config: Optional[Mapping[str, qdrant_types.SparseVectorParams]] = None + payload_schema: Optional[Mapping[str, models.PayloadSchemaType]] = None + # Used for standardization