阅读(4233) (8)

Laravel 8 自定义搜索引擎

2021-07-09 14:25:15 更新

如果您需要自定义引擎的搜索行为,则可以将回调作为第二个参数传递给 search 方法。 例如,您可以使用此回调将地理位置数据添加到搜索选项中,然后再将搜索查询传递给 Algolia:
use AlgoliaAlgoliaSearchSearchIndex;

AppModelsOrder::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();