全部產品
Search
文件中心

OpenSearch:config子句

更新時間:Jul 13, 2024

子句說明

config子句是必選子句,可以對查詢進行即時控制,通過config子句可以指定查詢結果的起始位置、返回結果的數量、展現結果的格式,查詢的逾時時間等。

文法說明

{
  "config": {
  }
}

config子句是一個可選子句,它是一個object,支援的參數請參考config子句參數

config子句參數

參數名

取值範圍

預設值

參數說明

start

NUMBER

0

從結果集中第start_offset開始返回document

hit

NUMBER

10

返迴文檔的最大數量

format

'json' or 'xml'

'xml'

輸出格式控制

rank_trace

'FATAL' or 'ERROR' or 'INFO' or 'DEBUG' or 'WARN' or 'TRACE1' or 'TRACE2' or 'TRACE3'

在前端輸出一個document的算分相關資訊

default_index

string

""

指定在該次查詢中使用的預設index,功能與cluster設定檔中query_config配置項的功能一致。如果在query中指定則優先使用query中指定的index作為預設index,否則使用query_config配置項中指定的index。

default_operator

'AND' or 'OR'

""

指定在該次查詢中使用的預設query 操作符,功能與cluster設定檔中query_config配置項的功能一致。如果在query中指定則使用query中指定的作為預設操作符,否則使用query_config配置項中指定的操作符。

timeout

NUMBER

0

指定query逾時時間,單位ms,0用配置逾時,不能為負數。

seek_timeout

NUMBER

0

指定query seek階段逾時時間,單位ms,預設值為0。預設情況下採用配置逾時 * 0.7作為seek逾時時間。

no_summary

false or true

false

true則只進行第一階段查詢,不取summary

dedup

no or yes

yes

yes則會自動對結果按照primary key去重,否則不會去重。

searcher_return_hits

NUMBER

0

限制searcher返回結果數,如果為0,則返回start+hit;不能超過5000

actual_hits_limit

NUMBER

0

決定totalhits展示實際值還是估算值,當實際結果數小於actual_hits_limit,則返回實際值,否則返回估算值。如果為0,則始終返回估算值;如果為numeric_limits<uint32_t>::max(),則始終返回實際值。

sourceid

string

索引有多個replica同時線上服務,如果不給定sourceid,每次查詢將會隨機地選一個replica進行查詢。索引進行累加式更新時,多個replica之間會出現不一致的時期(部份已更新,部分還是舊的),會導致查詢結果有時新有時舊。給定sourceid後,查詢會根據sourceid的雜湊值選取某個replica。同一sourceid的使用者查詢到的結果就不會新舊來回變換了。sourceid可以是任一字元串。

rerank_hint

BOOL

false

是否走第二輪算分

rank_size

NUMBER

0

粗排數,也就是直接動態索引截斷數,如果為0, 則用設定檔裡的值

rerank_size

NUMBER

0

第一輪精排數,如果為0, 則用設定檔裡的值

total_rank_size

NUMBER

0

各partition粗排數之和,也就是直接動態索引截斷數,如果為0, 則用設定檔裡的值

total_rerank_size

NUMBER

0

各partition第一輪精排數之和,如果為0, 則用設定檔裡的值

fetch_summary_type

docid or pk or rawpk

docid

設定取summary方式,預設是按照docid取,也可以通過pk的hash值或是pk的原文來取,建議使用pk。

research_threshold

NUMBER

0

當結果數不足該值時,觸發重查

使用樣本

  1. 翻頁使用:每頁20個結果,分別擷取第一頁、第二頁結果;

    #第一頁
    {
      "config": {
        "start":0,
        "hit":20,
        "format":"xml"
      }
    } 
      
    #第二頁
    {
      "config": {
        "start":20,
        "hit":20,
        "format":"xml"
      }
    }

  2. 設定精排文檔數為1000;

    {
      "config": {
        "start":1,
        "hit":20,
        "rerank_size":1000
      }
    }