【问题标题】:How to add pagination for elastic search如何为弹性搜索添加分页
【发布时间】:2017-10-09 11:09:28
【问题描述】:

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

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

我的页面大小是 5。

所以第一次它会给我 5 条记录,这些记录在我的代码中运行良好......

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

{

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

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

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

请帮助我在我的代码中允许分页。

【问题讨论】:

    标签: javascript elasticsearch pagination


    【解决方案1】:

    您第二次将什么指定为from 值? 您能否在第二个查询调用中发布您的请求。

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

    【讨论】:

      【解决方案2】:

      你必须通过

      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
      }
      

      这是为弹性搜索2.3

      【讨论】:

      • 嗨,感谢您的回复.. 虽然我更改了“来自”值,但我只获得前五条记录
      猜你喜欢
      • 2014-11-09
      • 2017-01-27
      • 1970-01-01
      • 2018-08-03
      • 1970-01-01
      • 1970-01-01
      • 2021-08-21
      • 2020-08-18
      • 1970-01-01
      相关资源
      最近更新 更多