9

我是弹性搜索的新手。有什么方法可以获取搜索关键字的所有搜索结果?弹性搜索限制为 10 或者我们可以设置大小但我们需要获取大小?

4

3 回答 3

16

是的,搜索结果的默认数量是 10。

您需要在查询上设置size参数

不过,我认为您不会说“所有结果”,但必须始终有大小限制。

于 2011-02-14T09:57:52.570 回答
4

如果您使用 JAVA API,您可以简单地从 SearchResponse 中获取总命中数

SearchRequestBuilder srb = ..
SearchResponse sr = srb.execute().actionGet();
long totalHits = sr.getHits().getTotalHits();
于 2011-03-08T11:09:59.663 回答
0

您可以使用一些代码通过几个步骤完成此操作

  1. 修复大小说1000并获取所有 1000 条记录。
  2. hits.total大小是否小于 1000 来确定。(如果小,那么你得到了所有的记录 :))
  3. 否则,使用from 和 size提供1001from 和totalas size 来自先前的查询以获得完整结果。
于 2015-06-10T11:40:18.783 回答