2011-02-14 25 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
相关问题