一尘不染

Elasticsearch laravel中的分页

elasticsearch

我正在使用shift31 / laravel-elasticsearch:〜1.0。我想在我的列表页面上实现分页。

搜索代码:

   $params = [
        'index' => 'my_index',
        'type' => 'product',
        'body' =>  [
                       'query'=>[
                                 'match'=>[
                                           'category'=>$category
                                          ]
                                 ]
                   ];
   ];
  $response = \Es::Search($params);

如何在上面的查询中使用分页?

更新:

我在查询中使用from和size,但是如何在视图页面中提供分页链接?以及如何通过单击页面进行更新?


阅读 540

收藏
2020-06-22

共1个答案

一尘不染

在仓库中

 $params = [
        'index' => 'my_index',
        'type' => 'product',
          'size' = $per_page;
          'from' = $from;
        'body' =>  [
                       'query'=>[
                                 'match'=>[
                                           'category'=>$category
                                          ]
                                 ]
                   ];
   ];

$response = \Es::Search($params);
 $access = $response['hits'];
        return $access;

我在控制器中设置了$ per_page和$ from

$per_page = $request->get('limit', 10);
    $from = ($request->get('page', 1) - 1) * $per_page;
    $access = $this->repository->Index($per_page, $from);

    $admin_exceptions = new LengthAwarePaginator(
            $access['hits'],
            $access['total'],
            $per_page,
            Paginator::resolveCurrentPage(),
            ['path' => Paginator::resolveCurrentPath()]);
 return view('adminexception.index', compact('admin_exceptions'))->withInput($request->all());

现在在视图{{!! $ admin_exceptions-> render()!!}}中使用render

2020-06-22