Я пытаюсь использовать Elasticsearch через PHP API в symfony
. Я установил Elasticsearch
через composer
.
Это мой код, который вызывается:
<?php
namespace AppBundle\ElasticsearchQuery;
use Elasticsearch\ClientBuilder;
class ElasticsearchQuery
{
private $Host = ['http://localhost:9200'];
private $client;
private $index = "homestead";
public function __construct()
{
$this->client = Elasticsearch\ClientBuilder::create()
>setHosts($Host)->build();
}
public function execute($verb, $params)
{
switch ($verb) {
case "create":
$response = $client->index($params);
break;
case "read":
$response = $client->get($params);
break;
case "search":
$response = $client->search($params);
break;
case "delete":
$response = $client->delete($params);
break;
}
}
}
и ошибка, которую я получаю:
Неустранимая ошибка: Class 'AppBundle\ElasticsearchQuery\Elasticsearch\ClientBuilder' не найден
Я не хочу, чтобы он искал Elasticsearch в моем AppBundle, я хочу, чтобы он искал его у продавцов. Как мне это сделать?
edit: использование\Elasticsearch\ClientBuilder; или Elasticsearch\ClientBuilder :: create() не имеет никакого значения
$this->client = Elasticsearch\ClientBuilder::create()
Это должно быть либо
$this->client = \Elasticsearch\ClientBuilder::create()
или (поскольку вы уже импортировали этот класс в свое пространство имен)
$this->client = ClientBuilder::create()