-
Notifications
You must be signed in to change notification settings - Fork 186
Description
Description:
Hello! Thank you for your excellent work on this project.
I'm working with a small document collection and need exact search (KNN) for accuracy. According to the documentation, this should be achievable using SearchParams:
knn_result = client.query_points(
collection_name="arxiv-titles-instructorxl-embeddings",
query=item["vector"],
limit=k,
search_params=models.SearchParams(
exact=True, # Turns on the exact search mode
),
).pointsHowever, after running several tests, the exact=True parameter doesn't appear to change the search results.
Observations:
-
QdrantLocalimplementation: Thesearch_paramsargument doesn't seem to be utilized in thequery_pointsmethod of theQdrantLocalclass (which handlesQdrantClient(':memory:')). See [this line]().search_params: Optional[types.SearchParams] = None, -
QdrantRemoteimplementation: Thesearch_paramsargument appears to be used in theQdrantRemoteclass'squery_pointsmethod. I tested this by instantiating the client withclient = QdrantClient("http://localhost:6333"), but the search results remain identical regardless of whethersearch_params=models.SearchParams(exact=True)is specified or not.
Question:
Am I missing something in my implementation, or is there an issue with how the exact parameter is being processed?
Thank you for your help!