config子句
子句說明
config子句是必選子句,可以對查詢進行實時控制,通過config子句可以指定查詢結(jié)果的起始位置、返回結(jié)果的數(shù)量、展現(xiàn)結(jié)果的格式,查詢的超時時間等。
語法說明
config=key1:value1,key2:value2...
?
目前支持的key,value如下表所示:
參數(shù)名 | 取值范圍 | 默認值 | 參數(shù)說明 |
start | NUMBER | 0 | 從結(jié)果集中第start_offset開始返回document |
hit | NUMBER | 10 | 返回文檔的最大數(shù)量 |
format | 'json' or 'xml' | 'xml' | 輸出格式控制 |
rank_trace | 'FATAL' or 'ERROR' or 'INFO' or 'DEBUG' or 'WARN' or 'TRACE1' or 'TRACE2' or 'TRACE3' | 無 | 在前端輸出一個document的算分相關(guān)信息 |
default_index | string | "" | 指定在該次查詢中使用的默認index,功能與cluster配置文件中query_config配置項的功能一致。如果在query中指定則優(yōu)先使用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用配置超時,不能為負數(shù)。 |
seek_timeout | NUMBER | 0 | 指定query seek階段超時時間,單位ms,默認值為0。默認情況下采用配置超時 * 0.7作為seek超時時間。 |
no_summary | no or yes | no | yes則只進行第一階段查詢,不取summary |
dedup | no or yes | yes | yes則會自動對結(jié)果按照primary key去重,否則不會去重。 |
searcher_return_hits | NUMBER | 0 | 限制searcher返回結(jié)果數(shù),如果為0,則返回start+hit;不能超過5000 |
actual_hits_limit | NUMBER | 0 | 決定totalhits展示實際值還是估算值,當(dāng)實際結(jié)果數(shù)小于actual_hits_limit,則返回實際值,否則返回估算值。如果為0,則始終返回估算值;如果為numeric_limits<uint32_t>::max(),則始終返回實際值。 |
sourceid | string | 無 | 索引有多個replica同時在線服務(wù),如果不給定sourceid,每次查詢將會隨機地選一個replica進行查詢。索引進行增量更新時,多個replica之間會出現(xiàn)不一致的時期(部份已更新,部分還是舊的),會導(dǎo)致查詢結(jié)果有時新有時舊。給定sourceid后,查詢會根據(jù)sourceid的哈希值選取某個replica。同一sourceid的用戶查詢到的結(jié)果就不會新舊來回變換了。sourceid可以是任意字符串。 |
rerank_hint | BOOL | false | 是否走第二輪算分 |
rank_size | NUMBER | 0 | 粗排數(shù),也就是直接動態(tài)索引截斷數(shù),如果為0, 則用配置文件里的值 |
rerank_size | NUMBER | 0 | 第一輪精排數(shù),如果為0, 則用配置文件里的值 |
total_rank_size | NUMBER | 0 | 各partition粗排數(shù)之和,也就是直接動態(tài)索引截斷數(shù),如果為0, 則用配置文件里的值 |
total_rerank_size | NUMBER | 0 | 各partition第一輪精排數(shù)之和,如果為0, 則用配置文件里的值 |
fetch_summary_type | docid or pk or rawpk | docid | 設(shè)置取summary方式,默認是按照docid取,也可以通過pk的hash值或是pk的原文來取,建議使用pk。 |
research_threshold | NUMBER | 0 | 當(dāng)結(jié)果數(shù)不足該值時,觸發(fā)重查 |
使用示例
翻頁使用:每頁20個結(jié)果,分別獲取第一頁、第二頁結(jié)果;
#第一頁
config=start:0, hit:20, format:xml
#第二頁
config=start:20, hit:20, format:xml
設(shè)置精排文檔數(shù)為1000;
config=start:0, hit:20, rerank_size:1000
注意事項
參數(shù)對內(nèi)key、value采用冒號(:)分隔;
start+hit<=5000,超過5000會直接報錯無結(jié)果。