如何为弹性搜索添加分页

时间:2017-10-09 11:09:29

标签: javascript elasticsearch pagination

我在我的应用程序中使用弹性搜索作为搜索工具......

我的数据库中有9条记录。

我的网页尺寸为5。

所以第一次它会给我5条记录,这些记录在我的代码中正常工作......

现在我第二次滚动它应该给我4条记录,然后滚动应该给我0条记录。

{

   "from" : 0, "size" : size,
    "query" : {
        "term" : { "user" : "kimchy" }
    }
}

我使用上面的代码进行查询。

使用上面的代码数据不合适,因为它第一次给我5条记录,第二次它也给了我5条记录然后它会减少计数为4,3,2。

请帮助我在我的代码中添加分页。

2 个答案:

答案 0 :(得分:1)

第二次将from值指定为什么? 你能在第二次查询电话中发布你要求的内容。

提示:它应该是from: 5而不是from: 1。它不是页面计数器而是记录计数器。

答案 1 :(得分:0)

你必须通过

1st time
"from" : 0,
"size" : 5


2nd time 
"from" : 5,
"size" : 5

您的查询将如下所示

{
  "query": {
    ... Your elasticsearch query
  },
  "_source": [
    .... Columns To retrieve
  ],
  "sort": [
    .... Sorting information
  ],
  "from": 0,
  "size": 5
}

这适用于elasticsearch 2.3