Php 获取AWS Cloudsearch上的上一个光标
我正在搜索我们的网站,有成千上万的用户访问。我喜欢CloudSearch,因为它超级快速,减轻了我RDS的负担。我们有大约30000个文档,所以为了给结果分页,我需要使用游标。文件不断更新(添加、修改或删除)。我现在的问题是获取上一个游标 我的理想情况是 {Prev}{…}{3}{4}{5}{6}{7}{…}{Next} 但我注意到这很难做到,因为我无法在每次执行查询时获取所有游标。所以我想做点什么 {Prev}{Next} 我是通过将当前游标&下一个游标传递给AJAX脚本来加载新结果的。当用户只是向前移动并进入下一页时,这一点非常有效。当用户返回并检索上一页时,它会中断。它们可以返回一页到当前(上一页)光标,但不能返回超过一页。这在用户看来是荒谬的 我已尝试存储游标,但如果新文档进入或旧文档被删除,则会再次中断。我的光标将返回0个结果。如果我要获取新的游标,我只会看到下一个游标,而不会看到上一个游标 例如: 第2页有光标吗???? 第3页有光标吗???? 第4页(当前页)的光标为VWXabc123 第5页(下一页)有光标VUTdef456 所以问题是,如何在第4页之前获取以前的游标?我无法存储结果或从查询中获取结果,这意味着我甚至无法执行简单的“上一步”和“下一步”按钮Php 获取AWS Cloudsearch上的上一个光标,php,amazon-web-services,amazon-cloudsearch,Php,Amazon Web Services,Amazon Cloudsearch,我正在搜索我们的网站,有成千上万的用户访问。我喜欢CloudSearch,因为它超级快速,减轻了我RDS的负担。我们有大约30000个文档,所以为了给结果分页,我需要使用游标。文件不断更新(添加、修改或删除)。我现在的问题是获取上一个游标 我的理想情况是 {Prev}{…}{3}{4}{5}{6}{7}{…}{Next} 但我注意到这很难做到,因为我无法在每次执行查询时获取所有游标。所以我想做点什么 {Prev}{Next} 我是通过将当前游标&下一个游标传递给AJAX脚本来加载新结果的。当用户
非常感谢大家 您可以使用“开始”和“大小”参数而不是“游标”:这允许您随机访问结果。但是CloudSearch将整个集合中的结果限制为10000个 要让客户端使用游标执行无限“返回”,您需要跟踪它们。如果你只有一台应用服务器,他们可以与之对话并跟踪客户端会话,你可以将它们存储在你的应用服务器上,并将prev/next和/或page=#与之关联 我们的应用程序有多个EC2服务器,因此无法跟踪。但是,我们可以让客户端存储一个游标的“堆栈”,这些游标在每个游标提供的页面中移动。当它们返回时,将旧光标从堆栈中弹出并转到那里。当它们前进时,将新光标添加到堆栈中。我们将在客户的角度代码中执行此操作