简体   繁体   中英

How to add pagination for elastic search

I am using elastic search as searching tool in my application...

I am having 9 records in my db.

My page size is 5.

So first time it will give me 5 records which is working fine by my code...

Now second time when I scroll it should give me 4 records and then scrolling should give me 0 records.

{

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

I am using above code for query.

using above code the data is not coming proper as first time it is giving me 5 records, 2nd time also it is giving me 5 records then it will reduce count as 4,3,2.

Kindly help me to allow pagination in my code.

What do you specify the second time as from value? Can you post what you request in the second query call.

tip: It should be from: 5 and not from: 1 . It is not a page counter but a record counter.

You'll have to pass

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


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

Your query will be looking like

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

This is for elasticsearch 2.3

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM