我一直在尝试使用Cursors
(document)制作“下一个”和“上一个”分页。我觉得很奇怪,在返回的数据中没有prevCursorMark
而不是nextCursorMark
。它使得实现next和prev分页非常困难。
我想到了将前一个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>";
所以这是我的问题:Cursors
中的Solr
是否提供了一个优秀的标记?是否可以使用Cursors
进行下一个和之前的分页?
答案 0 :(得分:1)
截至solr 5.2,它不提供任何previous cursor mark
。如果您想在应用程序中为下一个和上一个链接提供分页。您可以可靠地存储和使用solr返回的nextCursorMark
值。您可以重新提交nextCursorMark
值,更改其他内容,例如返回的存储字段或分面的字段。 cursorMark参数本身包含所有必需的状态。没有服务器端状态。