在Apache Solr中使用Cusor进行下一个和上一个导航


Using Cusor for next and previous nevigation in Apache Solr

我一直在尝试使用Cursors(文档)来制作"下一步"answers"上一个"分页。我发现很奇怪,在返回的数据中没有prevCursorMarknextCursorMark这样的东西。这使得实现下页和预页相当困难。

我想到了将以前的nextCursorMark请求存储为前一个页面指针的想法。然而,我觉得它不会像简单地拥有prevCursorMark那样可靠。

使用PHP Solr扩展的示例代码
  $query_response = $client->query($solrQuery);
  $data = $query_response->getResponse();
  $nextCursorMark = $data['nextCursorMark'];
  $prevCursorMark = isset($_GET['nextResult'])?
                    htmlspecialchars($_GET['nextResult']):'*';

  $pager = "<a href='index?1=1&nextResult=$prevCursorMark' class='page5 no_ajax'>Prev</a>
            <a href='index?1=1&nextResult=$nextCursorMark' class='page5 no_ajax'>Next</a>";

所以这是我的问题:Solr中的Cursors是否提供了一个prevCursor标记?是否可以使用Cursors进行下一个和上一个分页?

从solr 5.2开始,它不提供任何previous cursor mark。如果您希望在应用程序中使用next和previous链接提供分页。您可以可靠地存储和使用solr返回的nextCursorMark值。您可以重新提交nextCursorMark值,更改其他内容,例如返回哪些存储字段或哪些字段是分面的。cursorMark参数本身包含所有必需的状态。没有服务器端状态