go 遇到的坑

2022-07-31 15:36:16 字數 747 閱讀 9669

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...