community: change metadata in opensearch mmr (#30921)

- [ ] **PR message**:
- **Description:** including metadata_field in
max_marginal_relevance_search() would result in error, changed the logic
to be similar to how it's handled in similarity_search, where it can be
any field or simply a "*" to include every field
This commit is contained in:
Behrad Hemati 2025-04-18 16:10:23 +02:00 committed by GitHub
parent dbf9986d44
commit d624a475e4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1289,7 +1289,12 @@ class OpenSearchVectorSearch(VectorStore):
return [ return [
Document( Document(
page_content=results[i]["_source"][text_field], page_content=results[i]["_source"][text_field],
metadata=results[i]["_source"][metadata_field], metadata=(
results[i]["_source"]
if metadata_field == "*"
or metadata_field not in results[i]["_source"]
else results[i]["_source"][metadata_field]
),
id=results[i]["_id"], id=results[i]["_id"],
) )
for i in mmr_selected for i in mmr_selected