SolrClient::addDocument
(PECL solr >= 0.9.2)
SolrClient::addDocument — Ajoute un document à l'index
Description
$doc
[, bool $overwrite
= TRUE
[, int $commitWithin
= 0
]] ) : SolrUpdateResponseCette méthode ajoute un document à l'index.
Liste de paramètres
-
doc
-
L'instance SolrInputDocument.
-
overwrite
-
Si l'on doit ou non écraser un document existant. Si vaut
FALSE
, il sera dupliqué (plusieurs documents avec le même ID).AvertissementPECL Solr < 2.0 $allowDups était utilisé à la place de $overwrite ; il s'agit de la même fonctionalité, mais avec une valeur opposée.
$allowDups = false est identique à $overwrite = true
-
commitWithin
-
Nombre de millisecondes après lequel le document doit être valié. Disponible depuis Solr 1.4. Par défaut, vaut 0 (désactivé).
Lorsque cette valeur est spécifiée, elle laisse le contrôle à Solr sur le moment où la validation doit être réalisée, permettant ainsi d'optimiser le nombre de validations, et donc, de mieux contrôler les eigences de latence des mises à jour ; Solr va automatiquement réaliser une validation lorsque le plus vieille ajout du buffer est atteint.
Valeurs de retour
Retourne un objet SolrUpdateResponse et lance une exception si une erreur survient.
Erreurs / Exceptions
Lance une exception SolrClientException si le client a échoué ou s'il y a eu un problème avec la connexion.
Lance une exception SolrServerException si le serveur Solr a échoué dans l'exécution de la requête.
Exemples
Exemple #1 Exemple avec SolrClient::addDocument() example
<?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('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');
$updateResponse = $client->addDocument($doc);
// vous devriez valider ces modifications si vous n'utilisez pas $commitWithin
$client->commit();
print_r($updateResponse->getResponse());
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
SolrObject Object ( [responseHeader] => SolrObject Object ( [status] => 0 [QTime] => 1 ) )
Exemple #2 Exemple 2 avec SolrClient::addDocument()
<?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('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');
// Inutile d'appeler commit() car $commitWithin est passé ; ainsi,
// le serveur Solr va valider automatiquement dans les 10 secondes
$updateResponse = $client->addDocument($doc, false, 10000);
print_r($updateResponse->getResponse());
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
SolrObject Object ( [responseHeader] => SolrObject Object ( [status] => 0 [QTime] => 1 ) )
Voir aussi
- SolrClient::addDocuments() - Ajoute une collection d'instances SolrInputDocument à l'index
- SolrClient::commit() - Commit tous les ajouts/modifications effectués sur l'index
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-solrclient.adddocument.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.