【问题标题】:Using Cusor for next and previous nevigation in Apache Solr在 Apache Solr 中使用光标进行下一个和上一个导航
【发布时间】:2015-08-25 17:49:50
【问题描述】:

我一直在尝试使用Cursors(document) 进行“下一个”和“上一个”分页。我觉得奇怪的是,在返回的数据中没有 prevCursorMark 而不是 nextCursorMark 这样的东西。这使得实现下一个和上一个分页非常困难。

我想出了将之前的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 进行下一个和上一个分页?

【问题讨论】:

    标签: php apache solr pagination


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多