2011-02-14 48 views
9

我是Elastic Search的新手。有什麼辦法可以獲得搜索關鍵字的所有搜索結果嗎?彈性搜索限制爲10或者我們可以設置大小,但我們需要獲得大小?如何從搜索結果中獲取所有值

+1

我會重新考慮使用滾動搜索來獲取所有記錄(如分頁)。 http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-scroll.html – Emil 2014-06-25 11:09:28

回答

15

是,搜索結果的默認數量爲10

您需要set the size parameter上查詢。

但我不認爲你說「所有結果」,但必須始終有一個大小限制。

+0

是的,但我需要首先得到總大小 – raagavan 2011-02-14 10:12:41

4

如果您使用Java API,你可以從SearchResponse

SearchRequestBuilder srb = .. 
SearchResponse sr = srb.execute().actionGet(); 
long totalHits = sr.getHits().getTotalHits(); 
0

可以在幾個步驟做到這一點使用一些代碼

  1. 修復大小說1000簡單獲得總命中數並獲得所有1000條記錄。
  2. hits.total確定大小是否小於1000(如果小,那麼你得到了所有的記錄:))
  3. 否則使用from and size在從和total從以前的查詢尺寸得到充分的結果提供1001
相關問題