2016-12-14 4 views
1

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

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

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

ответ

2

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

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); 
} 
Смежные вопросы