Browse Source

fix: opensearch fulltext search with metadata filtering dsl error (#20702)

Co-authored-by: wenjun.gu <wenjun.gu@envision-energy.com>
tags/1.4.2
jefferyvvv 4 months ago
parent
commit
138ad6e8b3
No account linked to committer's email address
1 changed files with 2 additions and 2 deletions
  1. 2
    2
      api/core/rag/datasource/vdb/opensearch/opensearch_vector.py

+ 2
- 2
api/core/rag/datasource/vdb/opensearch/opensearch_vector.py View File

return docs return docs


def search_by_full_text(self, query: str, **kwargs: Any) -> list[Document]: def search_by_full_text(self, query: str, **kwargs: Any) -> list[Document]:
full_text_query = {"query": {"match": {Field.CONTENT_KEY.value: query}}}
full_text_query = {"query": {"bool": {"must": [{"match": {Field.CONTENT_KEY.value: query}}]}}}
document_ids_filter = kwargs.get("document_ids_filter") document_ids_filter = kwargs.get("document_ids_filter")
if document_ids_filter: if document_ids_filter:
full_text_query["query"]["terms"] = {"metadata.document_id": document_ids_filter}
full_text_query["query"]["bool"]["filter"] = [{"terms": {"metadata.document_id": document_ids_filter}}]


response = self._client.search(index=self._collection_name.lower(), body=full_text_query) response = self._client.search(index=self._collection_name.lower(), body=full_text_query)



Loading…
Cancel
Save