go 查詢es報錯:
一、問題描述:
elasticsearch 分頁查詢資料,剛開始資料還可以正常顯示,但是到後面就報錯:
panic: elastic: error 400 (bad request): all shards failed [type=search_phase_execution_exception]
二、原因分析:
搜尋了下,有什麼 elasticsearch排序引起的all shards failed異常原因分析? 解決方案
還有就是跟我這個問題一樣的,不是因排序引起all shards failed異常,知道了:es是預設返回1萬條資料的。那我遇到的問題就是資料量太大了,超出了es的最大限制。
三、解決方案:
elasticsearch設定最大返回條數:
在elasticsearch中如果需要做分頁查詢,我們通常使用form和size實現。form指定從有序哪一行開始,size表示從當前開始讀取多少行。但是我們發現查詢結果最大只能到10000,這是因為elasticsearch中的size的預設值在index.max_result_window 中設定,並且預設值就是10000。下面我們通過elasticsearch的api設定最大的讀取行。
注:elasticsearch支援的最大值是2^31-1,也就是2147483647。
put /api.yungehuo.com*/_settings}
入門go語言遇到的坑
我用的是ubuntu,也就是linux平台 安裝 我用的不是root使用者,普通使用者不要按照上面的教程將go的安裝包解壓到 usr local,解壓到使用者的乙個指定的目錄中,然後配置環境 vim bashrc新增以下內容到檔案尾部 export gopath export path path b...
go語言中goroute使用 遇到的坑
先看下源 預想從1至n總取出所有能被a或b整除的正整數之和,為了利用go語言的並行優勢,特使用goroute特性來實現,同時使用普通順序計算進行效率比較分析 package chango import fmt time func get sum of divisible num int64,divi...
go語言的坑
package main import fmt func main mp make map int int fmt.println for range 坑 for index,value range slice 根本原因在於for range是用乙個變數承接mp中的內容的 for key,value...