, когда я добавляю несколько серверов solr в качестве конечной точки и используя один клиент солярия для запроса на любой сервер solr; Я добавляю master/slave репликации в solr. пока я не пробовал, когда сервер для onecore (master или slave) не работает, клиент/солярий должен использовать доступную конечную точку.добавить несколько конечных точек solr unsing solarium
Я получаю эту ошибку:
Message: Solr HTTP error: HTTP request failed, Failed connect to 127.0.0.1:8983; No error
потому, что я остановить Solr в порту 8983 и Solr работает на ведомом ядре в порту 9000, в этом случае IAM ищет для подключения к localhost2, если локальный не работают. Это мой код:
$config = array(
"endpoint" => array("localhost" => array("host"=>"127.0.0.1",
"port"=>"8983", "path"=>"/solr", "core"=>"master",),
"localhost2" => array("host"=>"127.0.0.1",
"port"=>"9000", "path"=>"/solr", "core"=>"slave",)
));
$client = new Solarium\Client($config);
$ping = $client->createPing();
$client->ping($ping,"localhost2");
$client->getEndpoints();
когда ключ локальный не работает, а ключ localhost2 является подножка в порту 9000 я получаю это сообщение Solr ошибка HTTP: HTTP запрос не удалось, не удалось подключиться к 127.0.0.1:8983 ; Нет ошибки
ANd выход $ client-> getEndpoints();
object(Solarium\Client) {
[protected] options => array(
'adapter' => 'Solarium\Core\Client\Adapter\Curl',
'endpoint' => array(
'localhost' => array(
'host' => '*****',
'port' => '*****',
'path' => '/solr',
'core' => 'master'
),
'localhost2' => array(
'host' => '*****',
'port' => '*****',
'path' => '/solr',
'core' => 'slave'
)
)
)
[protected] queryTypes => array(
'select' => 'Solarium\QueryType\Select\Query\Query',
'update' => 'Solarium\QueryType\Update\Query\Query',
'ping' => 'Solarium\QueryType\Ping\Query',
'mlt' => 'Solarium\QueryType\MoreLikeThis\Query',
'analysis-document' => 'Solarium\QueryType\Analysis\Query\Document',
'analysis-field' => 'Solarium\QueryType\Analysis\Query\Field',
'terms' => 'Solarium\QueryType\Terms\Query',
'suggester' => 'Solarium\QueryType\Suggester\Query',
'extract' => 'Solarium\QueryType\Extract\Query',
'get' => 'Solarium\QueryType\RealtimeGet\Query'
)
[protected] pluginTypes => array(
'loadbalancer' => 'Solarium\Plugin\Loadbalancer\Loadbalancer',
'postbigrequest' => 'Solarium\Plugin\PostBigRequest',
'customizerequest' => 'Solarium\Plugin\CustomizeRequest\CustomizeRequest',
'parallelexecution' => 'Solarium\Plugin\ParallelExecution\ParallelExecution',
'bufferedadd' => 'Solarium\Plugin\BufferedAdd\BufferedAdd',
'prefetchiterator' => 'Solarium\Plugin\PrefetchIterator',
'minimumscorefilter' => 'Solarium\Plugin\MinimumScoreFilter\MinimumScoreFilter'
)
[protected] eventDispatcher => object(Symfony\Component\EventDispatcher\EventDispatcher) {
[private] listeners => array()
[private] sorted => array()
}
[protected] pluginInstances => array()
[protected] endpoints => array(
'localhost' => object(Solarium\Core\Client\Endpoint) {
[protected] options => array(
'host' => '*****',
'port' => '*****',
'scheme' => 'http',
'path' => '/solr',
'core' => 'master',
'timeout' => (int) 5,
'key' => 'localhost'
)
},
'localhost2' => object(Solarium\Core\Client\Endpoint) {
[protected] options => array(
'host' => '*****',
'port' => '*****',
'scheme' => 'http',
'path' => '/solr',
'core' => 'slave',
'timeout' => (int) 5,
'key' => 'localhost2'
)
}
)
[protected] defaultEndpoint => 'localhost'
[protected] adapter => null
}