fix: opensearch vector search falls back to keyword search (#20723)
Co-authored-by: wenjun.gu <wenjun.gu@envision-energy.com>
This commit is contained in:
@@ -184,7 +184,16 @@ class OpenSearchVector(BaseVector):
|
|||||||
}
|
}
|
||||||
document_ids_filter = kwargs.get("document_ids_filter")
|
document_ids_filter = kwargs.get("document_ids_filter")
|
||||||
if document_ids_filter:
|
if document_ids_filter:
|
||||||
query["query"] = {"terms": {"metadata.document_id": document_ids_filter}}
|
query["query"] = {
|
||||||
|
"script_score": {
|
||||||
|
"query": {"bool": {"filter": [{"terms": {Field.DOCUMENT_ID.value: document_ids_filter}}]}},
|
||||||
|
"script": {
|
||||||
|
"source": "knn_score",
|
||||||
|
"lang": "knn",
|
||||||
|
"params": {"field": Field.VECTOR.value, "query_value": query_vector, "space_type": "l2"},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
try:
|
try:
|
||||||
response = self._client.search(index=self._collection_name.lower(), body=query)
|
response = self._client.search(index=self._collection_name.lower(), body=query)
|
||||||
|
Reference in New Issue
Block a user