pagination question on appsync to elasticsearch

0

Something bothers me here, in that AppSync connected to ElasticSearch and I need to use pagination. I see AppSync returns a next token which sound great, but how does it handle a user that wants to jump to the 6th page of content. How is that handled?

I also did a little testing in ElasticSearch and pagination looks to be controlled by 2 values; size and from. These remind me of limit and offset in SQL. So would it be better to just pass in a size and page number to the query than to make use of the next token?

demandé il y a 5 ans640 vues
3 réponses
0
Réponse acceptée

AppSync can use either cursor-based or offset-based pagination. At AppSync, we generally lean toward cursor-based pagination as it's more ideal for real-time data where the ordering of records might change. (Useful explanation of advantages / disadvantages of Cursor-Based over Offset-based pagination: https://www.sitepoint.com/paginating-real-time-data-cursor-based-pagination/) It sounds like in your use case, you'll want to simply use offset-based pagination, which can be accomplished using the size and from attributes in the elasticsearch query, as you mentioned. You can pass size and from args from your graphql query into your elasticsearch query.

répondu il y a 5 ans
0

Aaron,

Thanks for the reply. I did go with the offset style as that just made more sense. I will need to look at that url you posted to have a better understanding of the pros/cons of each.

répondu il y a 5 ans
0

Following up to this. You can use the Elasticsearch Search After APIs to implement cursor based pagination on data in Elasticsearch. See https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-body.html#request-body-search-search-after for more information.

répondu il y a 5 ans

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions