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 操作符(注,僅獨享型執行個體支援該參數) |
注意事項
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": [ "10000.0340123586" ]
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