[Toc]
1、搜索結(jié)果分析
GET /_search
took:整個搜索請求花費了1毫秒
hits.total:本次搜索潮太,返回了1條結(jié)果
hits.max_score:本次搜索的所有結(jié)果中尔苦,最大的相關(guān)度分?jǐn)?shù)是多少
hits.hits:默認查詢前10條數(shù)據(jù),完整數(shù)據(jù)又官,按_score降序排序
shards:這次查詢路由到的primary shard和replica shard
timeout:默認無timeout,可以手動指定timeout漫试,走timeout查詢執(zhí)行機制
2六敬、_search的timeout機制
有些搜索應(yīng)用對時間是很敏感的,比如說我們的電商網(wǎng)站驾荣,你不能說讓用戶等10分鐘外构,才能等到一次搜索請求的結(jié)果,如果那樣的話人家早走了播掷,不來買東西了审编。
而timeout機制,就是指定每個shard只能在timeout時間范圍內(nèi)將搜索到的部分?jǐn)?shù)據(jù)(也可能全都搜索到了)直接返回給client叮趴,而不是等所有的數(shù)據(jù)全部搜索出來以后再返回割笙。
比如,有2個shard眯亦,每個shard要搜索出來1000條數(shù)據(jù)需要1分鐘伤溉,此時我們指定timeout=10ms,每個shard運行到10ms的時候可能就搜索出10條妻率,那么這個請求本來應(yīng)該在1分鐘后總共拿到2000條數(shù)據(jù)乱顾,但是指定timeout后,就會在10ms拿到20條數(shù)據(jù)返回給客戶端宫静。
這樣就可以確保一次搜索請求可以在指定的timeout時長內(nèi)完成走净。為一些時間敏感的搜索應(yīng)用提供良好的支持券时。
timeout的語法:
GET /_search?timeout=10m
timeout的單位:ms(毫秒),s(秒),m(分鐘)