子句说明
本文档系统解析了智能开放搜索OpenSearch-行业算法版中核心功能子句的设计逻辑与应用方法。通过模块化拆解,帮助用户理解各子句的核心能力与协同机制,快速构建高效、灵活的搜索解决方案。
向量召回
为了满足更多元化、更复杂的业务场景,开放搜索推出向量检索功能,在特定的业务场景下(特别是教育搜题场景、图片搜索场景),可以结合多路搜索功能,提升搜索结果的准确率。详情请参见向量召回。
索引召回
query子句
是搜索语句中不可缺少的一部分。它表示在哪个索引字段下查询什么内容,并且可以指定多个查询条件及其之间的关系(AND \ OR \ ANDNOT \ RANK)。
模糊搜索
模糊搜索是指在用户搜索意图不明确时,搜索引擎将用户的查询(query)与待检索的内容(doc)进行模糊匹配,找出与查询相关的内容。
Range范围查询
满足业务场景中会涉及到区间范围查询的需求。
结果过滤-filter子句
过滤功能支持用户根据查询条件,筛选出用户感兴趣的文档。会再通过query子句查找到的文档进行进一步的过滤,以返回最终所需结果。详情请参见结果过滤-filter子句。
分组统计-aggregate子句
一个关键词查询后可能会找到数以万计的文档,用户不太可能浏览所有文档以获取所需信息。在某些情况下,用户可能更关心的是一些统计数据。详情请参见分组统计-aggregate子句。
聚合打散-distinct子句
打散子句可以在一定程度上保证展示结果的多样性,以提升用户体验。如一次查询可以查出很多的文档,但是如果某个用户的多个文档分值都比较高,则都排在了前面,导致一页中所展示的结果几乎都属于同一用户,这样既不利于结果展示也不利于用户体验。对此,打散子句可以对每个用户的文档进行抽取,使得每个用户都有展示文档的机会。详情请参见聚合打散-distinct子句。
全局排序-sort子句
用户可以通过查询语句控制结果的排序方式,包括指定排序的字段和升降序。详情请参见全局排序-sort子句。
自定义传参-kvpairs子句
为便于通过查询语句传递信息给具体的特征函数,用户可以在kvpairs子句中对排序表达式中的可变部分进行参数定义。详情请参见自定义传参-kvpairs子句。
查询翻页-config子句
config部分可以指定查询结果的起始位置、返回结果的数量、展现结果的格式、参与精排表达式文档个数等。详情请参见查询翻页-config子句。
批量导出文档-scroll方法
传统搜索场景的主要目的是为了尽量短的时间内召回最符合的结果,所以对搜索结果进行了限制,例如 search方法最多只能召回5000条文档。在某些场景下需要提供更多的结果来进行分析工作,可以使用scroll接口来获取更多的结果。详情请参见批量导出文档-scroll方法。