ElasticSearch PHP ошибка 503

Я довольно новичок в ElasticSearch и сейчас просто выясняю некоторые вещи, но здесь есть проблема. После всех проблем, связанных с заменой сервера, мы перенесли узлы, но в одном из них есть некоторые недостающие данные. У нас есть два узла, в которых есть записи с одинаковым идентификатором. В первом случае все в порядке, но во втором некоторые записи, кажется, отсутствуют. Например, если я отправлю запрос следующим образом:

GET /fnh_detailbeta/main/61UkVww8QGu093RirFG84A

Я получу следующую ошибку (в Marvel — Sense)

{
"error": "NoShardAvailableActionException[[fnh_detailbeta][0] null]",
"status": 503
}

Итак, сейчас я пытаюсь сравнить все записи в узле 1 с записями в узле 2 через ElasticSearch PHP. Вот PHP, который я пытаюсь запустить:

<?php
require '../connector/vendor/autoload.php';

$number = 1;
$params = array();
$params['hosts'] = array (
'146.185.164.121:9200',         // IP + Port
);

$client = new Elasticsearch\Client($params);

$getParams = array();
$getParams['index'] = 'fnh_mainbeta';
$getParams['type']  = 'main';

//REQUEST AMOUNT

$json = '{"query": {"match_all": {}},"size": 1,"from":'.$number.'}';
$getParams['body'] = $json;

$retDoc = $client->search($getParams);

$total = $retDoc['hits']['total'];

//END OF REQUEST AMOUNT

//REQUEST ID
for ($i = 1; $i <= $total; $i++) {

$json = '{"query": {"match_all": {}},"size": 1,"from":'.$number.'}';
$getParams = array();
$getParams['index'] = 'fnh_mainbeta';
$getParams['type']  = 'main';
$getParams['body']    = $json;
$getParams['ignore'] = 503;
$getParams['ignore'] = 404;

$retDoc = $client->search($getParams);

$found_id = $retDoc['hits']['hits'][0]['_id'];

echo $found_id;

//REGUEST SECOND DB

$getParams = array();
$getParams['index'] = 'fnh_detailbeta';
$getParams['type']  = 'main';
$getParams['id']    = '61UkVww8QGu093RirFG84A';
$retDoc = $client->get($getParams);

$found_id_two = $retDoc['_id'];

echo $found_id_two;
//END OF REQUEST SECOND DB

$number++;
sleep(1);
};
//END OF REQUEST AMOUNT

Это еще не закончено, но я получаю фатальную ошибку, которая выходит из скрипта:

 Fatal error:  Uncaught exception 'Guzzle\Http\Exception\ServerErrorResponseException' with message 'Server error response
[status code] 503
[reason phrase] Service Unavailable

Эта ошибка появляется, когда NoShardAvailableActionException [[fnh_detailbeta] [0] null] … Итак, вопрос таков:
Каков лучший способ отловить эту ошибку (что-то вроде IF error THEN echo «error») без остановки выполнения PHP. Другими словами — я хочу определить эту ошибку, удалить эту запись и пойти дальше, сравнивая узлы.

Любая помощь будет оценена!

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]