全部产品
Search
文档中心

智能开放搜索 OpenSearch:config子句

更新时间:Sep 06, 2024

config部分可以指定查询结果的起始位置、返回结果的数量、展现结果的格式、参与精排表达式文档个数等。

语法说明

参数

类型

必需

取值范围

默认值

描述

start

int

[0, 5000]

0

从搜索结果中第start个文档开始返回

hit

int

[0, 500]

10

返回文档的最大数量

format

string

json

返回的文档格式,有JSON、fulljson两种格式可选。fulljson:比JSON类型多输出一些节点,如variableValue、sortExprValues等。

rerank_size

int

[0, 2000]

200

设置单列参与精排的文档个数

total_rank_size

int

-

-

设置参与粗排的文档个数

total_rerank_size

int

[0,10000]

-

设置参与精排的文档个数

default_operator

string

'AND' or 'OR'

AND

指定在该次查询中使用的默认query 操作符(,仅独享型实例支持该参数)

注意事项

  1. config子句为可选子句。

  2. 参数对之间使用逗号(,)分隔。

  3. 参数对内key、value采用冒号(:)分隔。

  4. start+hit<=5000,超过5000会直接报错无结果。(如有需要实现超过5000条数据的翻页,可以通过scroll方法批量导出文档后,自行实现分页逻辑)

  5. default_operator 参数仅供独享型实例配置。

  6. total_rank_size参数在SDK中配置方法,Java SDK:config.addToCustomConfig("total_rank_size:200000");、php SDK:$params->setCustomConfig('total_rank_size', 200000);

  7. 代码中查看排序明细:

    方法:在config子句中添加参数:format:fulljson;

    在返回结果中sortExprValues 就是文档得分:

  8. "sortExprValues": [
    					"10000.0340123586"
    				]

    sortExprValues 是个数组,表示sort子句中排序字段的值,例:

    sort=-price;-RANK

    那么sortExprValues 就是[price,文档得分]

    如果不设置sort,默认就是文档得分

示例

  1. 翻页使用:每页20个结果,分别获取第一页、第二页结果;

    #第一页
    config=start:0, hit:20, format:xml   
    #第二页
    config=start:20, hit:20, format:xml
  2. 设置精排文档数为1000;

    config=start:0, hit:20, rerank_size:1000
  3. 减少要召回的文档数;

    config=start:0, hit:20, total_rank_size:100