全部產品
Search
文件中心

OpenSearch:config子句

更新時間:Sep 07, 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