Algolia:在拉拉维尔搜索多个指数



我想设置algolia来搜索Laravel中的多个索引,使用这样简单的东西。

Route::get('/search/{query}', function ($query) {
$queries = [
    [
        'indexName' => 'movies_index',
        'query' => $query,
        'hitsPerPage' => 3
    ],
    [
        'indexName' => 'directors',
        'query' => $query,
        'hitsPerPage' => 3,
    ],
    [
        'indexName' => 'screenwriters',
        'query' => $query,
        'hitsPerPage' => 10
    ]
];

var_dump($queries);});

但我也是拉拉维尔和阿尔戈利亚的初学者,所以我不完全确定如何继续下去。

根据Algolia Docs所述:

// perform 3 queries in a single API call:
//  - 1st query targets index `categories`
//  - 2nd and 3rd queries target index `products`
$queries = [
  [
    'indexName' => 'categories',
    'query' => $myQueryString,
    'hitsPerPage' => 3
  ],
  [
    'indexName' => 'products',
    'query' => $myQueryString,
    'hitsPerPage' => 3,
    'facetFilters' => 'promotion'
  ],
  [
    'indexName' => 'products',
    'query' => $myQueryString,
    'hitsPerPage' => 10
  ]
];
$results = $client->multipleQueries($queries);
var_dump($results['results']);

不要忘记先初始化您的$client

$client = new AlgoliaSearchClient('APP_ID', 'APP_KEY');