Multi vector search in qdrant

Hi,

i was curious how is search being done in qdrant with this code

all_results = {}
    for vector_name in vector_names:
results = client.query_points(
            collection_name=collection_name,
            query=query_embedding,
            using=vector_name,
            search_params=qdrant_models.SearchParams(
                quantization=qdrant_models.QuantizationSearchParams(
                    rescore=False,
                )
            ),
            limit=limit,
        )
all_results[vector_name] = results.points

Is it performing brute search? Note this in in lesson 3 helper file and muvera is in the next lesson.

1 Like

Thank you @eng_ai for taking the course and posting this question. Let me check it with the team to come back with insights!

Looks to me like, if the indentation you have posted is correct, then “results = …” is outside of the for-loop, so it’s only going to run once.

And nothing inside the for-loop is saving the “results” value, and “vector_name” is always going to be the result of the last for-loop iteration.

So that’s rather confusing code.

Just got a replied and indeed, it is performing brute search.

Greetings!

1 Like

Is the for-loop redundant, or is it just badly-formatted in this topic?