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 2b05028332..ae4baeb17e 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,