Laravel 8 自定义搜索引擎
如果您需要自定义引擎的搜索行为,则可以将回调作为第二个参数传递给 search 方法。 例如,您可以使用此回调将地理位置数据添加到搜索选项中,然后再将搜索查询传递给 Algolia:
use Algolia\AlgoliaSearch\SearchIndex;
App\Models\Order::search('Star Trek', function (SearchIndex $algolia, string $query, array $options) {
$options['body']['query']['bool']['filter']['geo_distance'] = [
'distance' => '1000km',
'location' => ['lat' => 36, 'lon' => 111],
];
return $algolia->search($query, $options);
})->get();