go 遇到的坑


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
{
  "index":{
    "max_result_window":2147483647
  }
}

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM