From a8879057c0bcf1f12e3fecfd1515c1a715f440cd Mon Sep 17 00:00:00 2001 From: Jyong <76649700+JohnJyong@users.noreply.github.com> Date: Wed, 19 Mar 2025 19:44:56 +0800 Subject: [PATCH] fix tidb metadata filter (#16237) --- .../tidb_on_qdrant/tidb_on_qdrant_vector.py | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/api/core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py b/api/core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py index 2b0502833..ae4baeb17 100644 --- a/api/core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py +++ b/api/core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py @@ -328,16 +328,13 @@ class TidbOnQdrantVector(BaseVector): ) document_ids_filter = kwargs.get("document_ids_filter") if document_ids_filter: - should_conditions = [] - for document_id_filter in document_ids_filter: - should_conditions.append( + if filter.must: + filter.must.append( models.FieldCondition( key="metadata.document_id", - match=models.MatchValue(value=document_id_filter), + match=models.MatchAny(any=document_ids_filter), ) ) - if should_conditions: - filter.should = should_conditions # type: ignore results = self._client.search( collection_name=self._collection_name, query_vector=query_vector, @@ -382,16 +379,13 @@ class TidbOnQdrantVector(BaseVector): ) document_ids_filter = kwargs.get("document_ids_filter") if document_ids_filter: - should_conditions = [] - for document_id_filter in document_ids_filter: - should_conditions.append( + if scroll_filter.must: + scroll_filter.must.append( models.FieldCondition( key="metadata.document_id", - match=models.MatchValue(value=document_id_filter), + match=models.MatchAny(any=document_ids_filter), ) ) - if should_conditions: - scroll_filter.should = should_conditions # type: ignore response = self._client.scroll( collection_name=self._collection_name, scroll_filter=scroll_filter,