@@ -328,16 +328,13 @@ def search_by_vector(self, query_vector: list[float], **kwargs: Any) -> list[Doc
328
328
)
329
329
document_ids_filter = kwargs .get ("document_ids_filter" )
330
330
if document_ids_filter :
331
- should_conditions = []
332
- for document_id_filter in document_ids_filter :
333
- should_conditions .append (
331
+ if filter .must :
332
+ filter .must .append (
334
333
models .FieldCondition (
335
334
key = "metadata.document_id" ,
336
- match = models .MatchValue ( value = document_id_filter ),
335
+ match = models .MatchAny ( any = document_ids_filter ),
337
336
)
338
337
)
339
- if should_conditions :
340
- filter .should = should_conditions # type: ignore
341
338
results = self ._client .search (
342
339
collection_name = self ._collection_name ,
343
340
query_vector = query_vector ,
@@ -382,16 +379,13 @@ def search_by_full_text(self, query: str, **kwargs: Any) -> list[Document]:
382
379
)
383
380
document_ids_filter = kwargs .get ("document_ids_filter" )
384
381
if document_ids_filter :
385
- should_conditions = []
386
- for document_id_filter in document_ids_filter :
387
- should_conditions .append (
382
+ if scroll_filter .must :
383
+ scroll_filter .must .append (
388
384
models .FieldCondition (
389
385
key = "metadata.document_id" ,
390
- match = models .MatchValue ( value = document_id_filter ),
386
+ match = models .MatchAny ( any = document_ids_filter ),
391
387
)
392
388
)
393
- if should_conditions :
394
- scroll_filter .should = should_conditions # type: ignore
395
389
response = self ._client .scroll (
396
390
collection_name = self ._collection_name ,
397
391
scroll_filter = scroll_filter ,
0 commit comments