Я использую клиент phpastica (https://github.com/ruflin/Elastica) для добавления документов в эластичный индекс поиска.
Что происходит, при первой попытке добавить документ я получаю эту ошибку:
‘Elastica \ Exception \ ResponseException’ с сообщением
‘NoShardAvailableActionException [[index] [0] null];
вложенный: IllegalIndexShardStateException [[index] [0] Операции CurrentState [RECOVERING] разрешены только тогда, когда
начало / переселены
Документ не добавляется в индекс, но его сопоставление создается.
После этого он просто отлично работает, документ добавляется в индекс.
Может быть (наверняка) я делаю что-то не так. Пожалуйста, помогите мне решить эту проблему.
Вот моя конфигурация yaml:
indexes:
myIndex:
client: default
types:
myType:
mappings:
id: {type: integer, index: not_analyzed}
name: {type: string, index: not_analyzed}
location: {type: geo_point}
А вот как я добавляю документ:
$doc = new \Elastica\Document();
$doc->setData($arrDoc);
$doc->setId($id);
$objType->addDocument($doc); //object of \Elastica\Type
Задача ещё не решена.
Других решений пока нет …