Fix/add es num_candidates (#9225)

This commit is contained in:
Jyong 2024-10-11 16:04:23 +08:00 committed by GitHub
parent d498f4e55e
commit 80b62d50f5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,5 +1,6 @@
import json
import logging
import math
from typing import Any, Optional
from urllib.parse import urlparse
@ -112,7 +113,8 @@ class ElasticSearchVector(BaseVector):
def search_by_vector(self, query_vector: list[float], **kwargs: Any) -> list[Document]:
top_k = kwargs.get("top_k", 10)
knn = {"field": Field.VECTOR.value, "query_vector": query_vector, "k": top_k}
num_candidates = math.ceil(top_k * 1.5)
knn = {"field": Field.VECTOR.value, "query_vector": query_vector, "k": top_k, "num_candidates": num_candidates}
results = self._client.search(index=self._collection_name, knn=knn, size=top_k)