Laravel / Scout / Algolia按id / index / objectID搜索

时间:2016-12-14 16:57:29

标签: laravel algolia

我需要能够使用algolia通过id / index / objectID进行搜索。因此,用户ID 1829我需要有人将其输入搜索栏并且1829出现。

直接使用Algolia也不会这样做,所以首先这是可能的,如果是这样,那么你如何设置它。

如果这不可能,我将不得不创建一个单独的搜索,这不是一个令人烦恼的问题。

2 个答案:

答案 0 :(得分:3)

您可以使用最高优先级搜索ObjectId,因此当您搜索id时,第一个元素应该是具有该ID的元素。

答案 1 :(得分:0)

如果您只想搜索objectID,您也可以使用以下内容:

if (is_int($query)) {
    Model::search($query, function ($algolia, $query, $options) {

        $record = $algolia->getObject($query);

        return [
            'nbHits' => 1,
            'hits' => [$record],
        ];
    })->get();
} else {
    Model::serach($query);
}