Поиск Laravel/Scout/Algolia по id/index/objectID

Мне нужна возможность поиска по id/index/objectID с помощью algolia. Итак, идентификатор подписчика 1829. Мне нужна возможность, чтобы кто-то ввел его в строку поиска, и появляется 1829.

Использование Algolia напрямую также не работает, поэтому, во-первых, это возможно, а во-вторых, если да, то как вы это настроите.

Если это невозможно, мне придется создать отдельный поиск, который не является проблемой, просто раздражает.


person Mike Oltmans    schedule 14.12.2016    source источник


Ответы (2)


Вы можете сделать ObjectId доступным для поиска с наивысшим приоритетом, поэтому при поиске идентификатора первым должен быть элемент с этим идентификатором.

person Bara' ayyash    schedule 14.12.2016

Если вы хотите искать только 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);
}
person Julien Bourdeau    schedule 22.05.2017