Обновление Solr 8 и stream.body - PullRequest
0 голосов
/ 13 марта 2020

Я обновляю 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, который я могу / должен использовать при отправке моих данных? Я не мог найти ничего в документации. Возможно, я искал не в том месте?

Любая помощь будет принята с благодарностью.

Спасибо,
Кристоф

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...