【问题标题】:elasticquent/Elasticquent paginate issue, It returns all dataelasticquent/Elasticquent 分页问题,​​它返回所有数据
【发布时间】:2016-12-28 01:29:19
【问题描述】:

我正在为 Laravel 5.2 使用“elasticquent/Elasticquent”弹性搜索包

这是我的代码

 $videos = Video::searchByQuery(['match_all' => []],null, null, 300, null, ['id' => 'desc']) ->paginate(42);

我想获得最后 300 项,每页分页 42 项, 但它仍然返回所有 300 个项目,而不是 42 个。 有谁知道如何解决这个问题?

【问题讨论】:

  • 您确定此模型提供分页功能吗?分页是弹性搜索一般来说有点棘手。

标签: laravel elasticsearch laravel-5 pagination laravel-5.2


【解决方案1】:

在找到here的文档中提到,您可以使用以下函数进行查询:

public static function searchByQuery(
    $query = null, 
    $aggregations = null, 
    $sourceFields = null, 
    $limit = null, 
    $offset = null, 
    $sort = null
)

参数 4 ($limit) 和 5 ($offset) 可用于创建分页。


在您的情况下,以下查询将授予您 42 个结果,从偏移量 0 开始。

$videos = Video::searchByQuery(['match_all' => []],null, null, 42, 0, ['id' => 'desc']);

【讨论】:

    【解决方案2】:

    elasticquent/Elasticquent 分页问题

    在这个包中的 paginate 函数与 laravel 中的 paginate func 同名。 更改名称分页功能按住CTRL +单击功能然后使用它。

    【讨论】:

      猜你喜欢
      • 2016-06-07
      • 2016-03-24
      • 1970-01-01
      • 2016-10-20
      • 2016-03-21
      • 2016-10-07
      • 1970-01-01
      • 2023-02-16
      • 1970-01-01
      相关资源
      最近更新 更多