Laravel Scout or Solr Engine
Official Documentation for Scout can be found on the Laravel website.
Добавте в ваш AppServiceProvider
реализацию инстанса SolrSearchEngine
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Fobia\Solrquent\ScoutSolr\SolrSearchEngine;
// ...
class AppServiceProvider extends ServiceProvider
{
// ...
public function register()
{
// ...
$this->app->singleton(SolrSearchEngine::class, function ($app) {
return new SolrSearchEngine($solrClient, $onCommitHandle);
});
}
}
, тут $solrClient
- это клиет подключения к Solr, a $onCommitHandle
функция обратного вызова
перед отправкой запроса update в Solr.
$onCommitHandle(\Solarium\QueryType\Update\Query\Query $query);
В нее вы установить нужно ли отправлять команду commit
Расширеный результат ответа с колекцией моделей
$result = Product::search('name:foo')->getFullResult();
/* $result instanceof \Solarium\QueryType\Select\Result\Result */
$result->getModels();
// Get request url string
$url = Product::search('name:foo')->toSolrUrl();
Laravel Scout is open-sourced software licensed under the MIT license