Как отправить JSON в SOLR с помощью Zend_Client? - PullRequest
0 голосов
/ 27 сентября 2011

Как мне отправить JSON в SOLR с помощью Zend_Client?

Предположим, что JSON, который я использую, - это (он был взят из SOLR WIKI, поэтому я предполагаю, что это правильно).

$JSON ='[{"id" : "3", "title" : "test3","description":"toottoto totot ototot "}]';

Я не вижу ошибок в журнале ошибок Solr, это код, который я использую для отправки НЕ РАБОТАЕТ

$url = 'http://localhost:8983/solr/update/json';
$Client = new Zend_Http_Client($url);
$Client->resetParameters();
$Client->setMethod(Zend_Http_Client::POST);
$Client->setHeaders('Content-type','application/json');
$Client->setParameterPost($JSON);//***** WRONG *****
    $Client->setRawData($JSON); //* **** RIGHT FROM ANSWER BELOW, STILL NEED TO ENCODE IT!
$response = $Client->request();

ЭТО РАБОТАЕТ ИЗ КОМАНДНОЙ ЛИНИИ!

sudo curl http://localhost:8983/solr/update/json -H 'Content-type:application/json' -d '
[{"id" : "3", "title" : "test3","description":"toottoto totot ototot "}]'

1 Ответ

1 голос
/ 28 сентября 2011

Метод setParameterPost () принимает два аргумента, имя параметра и его значение следующим образом:

$client->setParameterPost('name', 'john'); // results in name=john

Попробуйте использовать setRawData () Вместо этого это позволит вам установить необработанные данные.

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