昇腾社区首页
中文
注册

full_text_search

功能描述

在数据库中搜索文本信息,搜索使用BM25稀疏向量检索,如果创建MilvusDocstore实例时,参数enable_bm25设置为False,则无法使用此接口,会返回空列表。

函数原型

def full_text_search(self, query, top_k, drop_ratio_search, filter_dict)

输入参数说明

参数名

数据类型

可选/必选

说明

query

str

必选

检索的文本内容,长度取值范围(0, 1000 * 1000]

top_k

int

可选

返回检索到的最匹配的chunk数量,默认值为3,若该参数的值大于实际检索到的有效chunk数量,则只返回有效的chunk, 取值范围(0, 10000]

drop_ratio_search

float

可选

在bm25稀疏向量搜索过程中排除的小向量值的比例。该选项可通过指定忽略查询向量中最小值的比例,对搜索过程进行微调。它有助于平衡搜索精度和性能。drop_ratio_search的值越小,这些小值对最终得分的贡献就越小。通过忽略一些小值,可以提高搜索性能,同时将对精确度的影响降到最低。

取值范围[0, 1),默认为0.2,具体说明请参考Milvus稀疏嵌入相关部分

filter_dict

Dict

必选

由检索条件组成的字典,filter_dict包含元素的个数需小于等于32,当前只支持对document_id进行过滤,过滤的文档id以列表形式传入,例如,需要在document_id为1,2,4这几篇文档中过滤,则传入的字典为{"document_id": [1, 2, 4]}

返回值说明

数据类型

说明

List[MxDocument]

查询到结果时返回MxDocument类实例组成的列表,无结果时返回空列表。MxDocument参见MxDocument类