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 | 否 | - | - | 设置参与粗排的文档个数 |
default_operator | string | 否 | 'AND' or 'OR' | AND | 指定在该次查询中使用的默认query 操作符(注,仅独享型实例支持该参数) |
注意事项
config子句为可选子句。
参数对之间使用逗号(,)分隔。
参数对内key、value采用冒号(:)分隔。
start+hit<=5000,超过5000会直接报错无结果。(如有需要实现超过5000条数据的翻页,可以通过scroll方法方法批量导出文档后,自行实现分页逻辑)
default_operator 参数仅供独享型实例配置。
total_rank_size参数在SDK中配置方法,Java SDK:
config.addToCustomConfig("total_rank_size:200000");
、php SDK:$params->setCustomConfig('total_rank_size', 200000);
。代码中查看排序明细:
方法:在config子句中添加参数:format:fulljson;
在返回结果中sortExprValues 就是文档得分:
sortExprValues 是个数组,表示sort子句中排序字段的值,例:
sort=-price;-RANK
那么sortExprValues 就是[price,文档得分]
如果不设置sort,默认就是文档得分
示例
翻页使用:每页20个结果,分别获取第一页、第二页结果;
#第一页 config=start:0, hit:20, format:xml #第二页 config=start:20, hit:20, format:xml
设置精排文档数为1000;
config=start:0, hit:20, rerank_size:1000
减少要召回的文档数;
config=start:0, hit:20, total_rank_size:100