Я обновляю Solr с 6.x до 8.x. Раньше мы строили наш запрос таким образом в нашем скрипте PHP:
$aPostData = array(
'stream.body' => '{"add": {"doc":{...stuff here...}}',
'commit' => 'true',
'collection' => 'mycollection',
'expandMacros' => 'false'
);
$oBody = new \http\Message\Body();
$oBody->addForm($aPostData);
, отправляя его на наш сервер Solr по адресу / solr / mycollection / update / json. Это отлично работало в 6.x, но теперь, когда я обновился до 8.x, я получил следующий ответ от Solr
{
"responseHeader":{
"status":400,
"QTime":1
},
"error":{
"metadata":[
"error-class","org.apache.solr.common.SolrException",
"root-error-class","org.apache.solr.common.SolrException"],
"msg":"missing content stream",
"code":400
}
}
Копаясь, я наткнулся на следующее
https://issues.apache.org/jira/browse/SOLR-10748
и
Ошибка Solr - Тело потока отключено
Я пытался следовать предложениям обоих ответов , Для первого я теперь вижу файл «configoverlay. json» в моем каталоге ./conf, и он имеет эти настройки. Для второго ответа я настроил его так, чтобы у моего узла requestParsers были эти атрибуты. Тем не менее, ни работал. Я искал вокруг, но на данный момент я в своем уме. Как я могу сделать так, чтобы я мог продолжать использовать «stream.body»? Если я не должен использовать «stream.body», есть ли другой запрос var, который я могу / должен использовать при отправке моих данных? Я не мог найти ничего в документации. Возможно, я искал не в том месте?
Любая помощь будет принята с благодарностью.
Спасибо,
Кристоф