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?

preguntada hace 5 años640 visualizaciones
3 Respuestas
0
Respuesta aceptada

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.

respondido hace 5 años
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.

respondido hace 5 años
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.

respondido hace 5 años

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.

Pautas para responder preguntas