Как использовать солярий с Laravel?
Я включил солярий, как требуется на composer.json
, сделал composer install
и все прошло нормально.
Однако, когда я пытаюсь создать позицию клиента, я получаю сообщение об ошибке:
Класс "Солярий \ Клиент" не найден
Код, который я использую, выглядит так:
public function __construct()
{
$config = array(
'endpoint' => array(
'localhost' => array(
'host' => '127.0.0.1',
'port' => 8983,
'path' => '/solr/my_solr_instance',
)
)
);
$this->client = new \Solarium\Client($config);
}
Любые идеи о том, как это исправить?
2 ответа
После установки солярия в Laravel ..
создайте файл solr.php в конфиге
return [
'endpoint' => [
'Collection' => [
'host' => '192.168.0.1',
'port' => '8983',
'path' => '/solr',
'core' => 'collection1'
],
]
];
В вашей конструкции контроллера инициировать клиентский объект
// create a client instance
$this->client = new \Solarium\Client();
$this->endpoint = $this->client->createEndpoint(Config::get('solr.endpoint.Collection'));
В поисковой функции
$query = $this->client->createSelect();
$query->setQuery("*:*");
$resultset = $this->client->select($query, $this->endpoint);
У меня есть новый подход для этого инициировать клиента из контроллера. Я нашел это решение здесь, так как ниже не рекомендуется публиковать полный код.
https://universaldetails.com/details/how-to-use-php-solarium-in-a-laravel-project
Я пробовал и тестировал, так что вам поможет.