Ошибка при обновлении документа

1

Я использую этот код, чтобы начать с моего нового поиска solr.

include "BootStrap.php";

$options = array
(
    'hostname' => SOLR_SERVER_HOSTNAME,
    'login'    => SOLR_SERVER_USERNAME,
    'password' => SOLR_SERVER_PASSWORD,
    'port'     => SOLR_SERVER_PORT,

);

$client = new SolrClient($options);

$doc = new SolrInputDocument();
/*$doc->addField('idDocument', 1);
$doc->addField('titleFr', 'Le petit poucet');
*/

$doc->addField(utf8_encode('idDocument'), utf8_encode(1));
$doc->addField(utf8_encode('titleFr'), utf8_encode('Le petit poucet'));

var_dump($doc->getFieldNames());
$updateResponse = $client->addDocument($doc, true, 10000);
//$client->commit();
var_dump($updateResponse->getResponse());

My BootStrap.php:

/* Nom de domaine du serveur Solr */
define('SOLR_SERVER_HOSTNAME', 'localhost:81/solr/#/testDocument/');

/* Si l'on doit exécuter en mode sécurisé ou non */
define('SOLR_SECURE', true);

/* Port HTTP de connexion */
define('SOLR_SERVER_PORT', ((SOLR_SECURE) ? 8443 : 8983));

/* Nom d'utilisateur pour l'authentification HTTP Basic */
define('SOLR_SERVER_USERNAME', 'admin');

/* Mot de passe pour l'authentification HTTP Basic */
define('SOLR_SERVER_PASSWORD', '');

/* Délai maximal de connexion HTTP */
/* C'estla durée maximale en secondes autorisée pour l'opération de transfert de données http. La valeur par défaut est 30 secondes */
define('SOLR_SERVER_TIMEOUT', 10);

/* Nom du fichier de la clé privée formattée PEM + du certificat privé (concaténés dans cet ordre) */
define('SOLR_SSL_CERT', 'certs/combo.pem');

/* Nom du fichier du certificat privé formatté PEM seulement */
define('SOLR_SSL_CERT_ONLY', 'certs/solr.crt');

/* Nom du fichier de la clé privée formattée PEM */
define('SOLR_SSL_KEY', 'certs/solr.key');

/* Mot de passe pour le fichier de la clé privée formattée PEM */
define('SOLR_SSL_KEYPASSWORD', 'StrongAndSecurePassword');

/* Nom du fichier contenant un ou plusieurs certificats CA pour l'authentification */
define('SOLR_SSL_CAINFO', 'certs/cacert.crt');

/* Nom du dossier contenant les certificats CA pour l'authentification */
define('SOLR_SSL_CAPATH', 'certs/');

И когда я его использую. У меня есть эта ошибка с другими ошибками. Warning: SolrClient::addDocument(): Entity: line 4: parser error: Input is not proper UTF-8, indicate encoding ! Bytes: 0xE9 0x74 0x68 0x6F in C:\wamp\www\testAntoine2\send.php on line 76

Я использую бит-бит-бит Bitnami Apache, и я полностью блокирую эту ошибку. Не могли бы вы помочь мне предложить мне несколько новых идей :)

С уважением, Урука :)

  • 0
    пожалуйста, проверьте ссылку stackoverflow.com/questions/2507608/…
  • 0
    я видел это. Я пытаюсь использовать его, но что такое «входная кодировка». ? изо? Смотри, я пытаюсь использовать UTF8 кодировать
Показать ещё 3 комментария
Теги:
solr

1 ответ

0

Ваш URL-адрес Solr включает "/#/"... это URL-адрес, который ТОЛЬКО будет работать в полном графическом браузере - это часть пользовательского интерфейса администратора. Вы не можете использовать URL-адреса, видимые в вашем браузере, при запуске пользовательского интерфейса администратора для связи API с Solr.

Если "testDocument" - это имя вашего ядра Solr (или коллекция для установки SolrCloud), то это URL-адрес Solr:

локальный: 81/Solr/testDocument/

Я не могу точно сказать, какой именно клиент PHP Solr вы используете, но для этой переменной $ options я считаю, что для имени хоста должен быть только "localhost", правильный номер порта в порту и "/solr/testDocument" для путь. В настоящее время у вас нет пути вообще.

У меня есть некоторая путаница здесь... для имени хоста, у вас есть URL-адрес, который включает порт 81, но для порта вы используете либо 8443, либо 8983. Какой из них является фактическим портом?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню