Merge pull request #15389 from headwAI-GmbH/add-qdrant-indices

feat: Add qdrant indices
This commit is contained in:
Tim Jaeryang Baek
2025-06-30 11:36:31 +04:00
committed by GitHub
2 changed files with 38 additions and 0 deletions

View File

@@ -87,6 +87,25 @@ class QdrantClient(VectorDBBase):
), ),
) )
# Create payload indexes for efficient filtering
self.client.create_payload_index(
collection_name=collection_name_with_prefix,
field_name="metadata.hash",
field_schema=models.KeywordIndexParams(
type=models.KeywordIndexType.KEYWORD,
is_tenant=False,
on_disk=self.QDRANT_ON_DISK,
),
)
self.client.create_payload_index(
collection_name=collection_name_with_prefix,
field_name="metadata.file_id",
field_schema=models.KeywordIndexParams(
type=models.KeywordIndexType.KEYWORD,
is_tenant=False,
on_disk=self.QDRANT_ON_DISK,
),
)
log.info(f"collection {collection_name_with_prefix} successfully created!") log.info(f"collection {collection_name_with_prefix} successfully created!")
def _create_collection_if_not_exists(self, collection_name, dimension): def _create_collection_if_not_exists(self, collection_name, dimension):

View File

@@ -229,6 +229,25 @@ class QdrantClient(VectorDBBase):
), ),
wait=True, wait=True,
) )
# Create payload indexes for efficient filtering on metadata.hash and metadata.file_id
self.client.create_payload_index(
collection_name=mt_collection_name,
field_name="metadata.hash",
field_schema=models.KeywordIndexParams(
type=models.KeywordIndexType.KEYWORD,
is_tenant=False,
on_disk=self.QDRANT_ON_DISK,
),
)
self.client.create_payload_index(
collection_name=mt_collection_name,
field_name="metadata.file_id",
field_schema=models.KeywordIndexParams(
type=models.KeywordIndexType.KEYWORD,
is_tenant=False,
on_disk=self.QDRANT_ON_DISK,
),
)
log.info( log.info(
f"Multi-tenant collection {mt_collection_name} created with dimension {dimension}!" f"Multi-tenant collection {mt_collection_name} created with dimension {dimension}!"