使用 opensearch_vector_search 过滤元数据

问题描述 投票:0回答:1

嗨,我正在尝试在我的矢量数据库上运行相似性搜索,在我的数据库中我添加了一些文档以及元数据,如下所示

docs = [Document(page_content='The Structure of the Sun to the center.', metadata={'source': '/tmp/tmp3doww_i3/tmp.pdf', 'page': 1}), Document(page_content='\uf0b7 Radiation pressure : it is Credit: NASA', metadata={'source': '/tmp/tmp3doww_i3/tmp.pdf', 'page': 1}), Document(page_content='The Structu regions', metadata={'source': '/tmp/tmp3doww_i3/tmp.pdf', 'page': 2}))]

现在我想在第 = 1 页上运行预过滤器并运行相似度

filter = {"bool": {"filter": {"term": {"page": 6}}}} resdocs = opensearch_vector_search.similarity_search(" heterogenous individual growth",filter) resdocs

我正在尝试询问与过滤器的矢量数据库相似性相关的问题,我期望社区提供最佳答案

vector langchain opensearch
1个回答
0
投票

我遇到了同样的问题,为了使用元数据过滤,您必须访问元数据字典中的字段(如metadata.page),然后访问该字段的关键字版本(如metadata.page.keyword)。此后您的过滤器应该按预期工作。 过滤器变为: {"bool": {"filter": {"term": {"metadata.page.keyword": 6}}}}

© www.soinside.com 2019 - 2024. All rights reserved.