子句說明
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 | 當結果數不足該值時,觸發重查 |
使用示例
翻頁使用:每頁20個結果,分別獲取第一頁、第二頁結果;
#第一頁 { "config": { "start":0, "hit":20, "format":"xml" } } #第二頁 { "config": { "start":20, "hit":20, "format":"xml" } }
設置精排文檔數為1000;
{ "config": { "start":1, "hit":20, "rerank_size":1000 } }