亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何獲取索引中的文檔總數

如何獲取索引中的文檔總數

Go
慕斯王 2022-05-18 15:45:14
使用的庫:https ://pkg.go.dev/github.com/olivere/elastic/v7res, _ := orm.Es.Search("pk").Do(context.Background()) fmt.Println("res",res.TotalHits()) // output:10000count: 3628800 查詢的數字只有10000,怎么得到總數?
查看完整描述

1 回答

?
森欄

TA貢獻1810條經驗 獲得超5個贊

嘗試將track_total_hits搜索選項設置為true.

通常,如果不訪問所有匹配項,就無法準確計算總命中數,這對于匹配大量文檔的查詢來說代價高昂。track_total_hits parameter允許您控制應如何跟蹤點擊總數。鑒于通常有一個命中數的下限就足夠了,例如“至少有 10000 個命中”,因此默認設置為 10,000。這意味著請求將準確計算總命中數,最高可達 10,000 次命中。如果您在某個閾值之后不需要準確的命中數,那么加快搜索速度是一個很好的權衡。

設置為 true 時,搜索響應將始終跟蹤準確匹配查詢的命中數

官方文檔中有一篇很棒的文章描述了它是什么。

通過調用TrackTotalHits方法在您的代碼中啟用它:

res, _ := orm.Es.Search("pk").TrackTotalHits(true).Do(context.Background())

或者,如果您只需要總數,只需使用Count API

res, _ := orm.Es.Count("pk").Do(context.Background())


查看完整回答
反對 回復 2022-05-18
  • 1 回答
  • 0 關注
  • 181 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號