elasticquent/Elasticquent 分页问题,​​它返回所有数据

Ave*_*yan 1 pagination elasticsearch laravel laravel-5

我正在为 Laravel 5.2 使用“elasticquent/Elasticquent”elasticsearch 包

这是我的代码

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

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

Nic*_*ank 5

正如此处的文档中所述,您可以使用以下函数进行查询:

public static function searchByQuery(
    $query = null, 
    $aggregations = null, 
    $sourceFields = null, 
    $limit = null, 
    $offset = null, 
    $sort = null
)
Run Code Online (Sandbox Code Playgroud)

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


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

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