SolrClient::addDocuments
(PECL solr >= 0.9.2)
SolrClient::addDocuments — Ajoute une collection d'instances SolrInputDocument à l'index
Description
$docs
[, bool $overwrite
= TRUE
[, int $commitWithin
= 0
]] ) : voidAjoute une collection de documents à l'index.
Liste de paramètres
-
docs
-
Un tableau contenant la collection d'instances SolrInputDocument. Ce tableau doit être une variable réelle.
-
overwrite
-
Si l'on doit écraser les documents ou non. Si vaut
FALSE
, les documents seront dupliqués (plusieurs documents avec le même ID).AvertissementPECL Solr < 2.0 $allowDups était utilisé au lieu de $overwrite, qui remplissait exactement la même fonctionalité, mais à l'opposé.
$allowDups = false est identique à $overwrite = true
-
commitWithin
-
Nombre de millisecondes d'attente avant de valider automatiquement ce document. Disponible depuis Solr 1.4. Par défaut, vaut 0, ce qui signifie que ce mécanisme est désactivé.
Lorsque cette valeur est spécifiée, le contrôle du moment de la validation est laissé à Solr, cherchant à optimiser le nombre de validations à son minimum, tout en gardant une exigence forte concernant la latence des mises à jour, et Solr fera automatiquement une validation lorsque le plus vielle ajout du buffer est atteint.
Valeurs de retour
Retourne un objet SolrUpdateResponse en cas de succès, 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::addDocuments()
<?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');
$doc2 = clone $doc;
$doc2->deleteField('id');
$doc2->addField('id', 334456);
$docs = array($doc, $doc2);
$updateResponse = $client->addDocuments($docs);
// Aucune modification ne sera écrite sur le disque tant que l'argument $commitWithin ne soit passé, ou la méthode SolrClient::commit appelée.
print_r($updateResponse->getResponse());
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
SolrObject Object ( [responseHeader] => SolrObject Object ( [status] => 0 [QTime] => 2 ) )
Voir aussi
- SolrClient::addDocument() - Ajoute un document à l'index
- SolrClient::commit() - Commit tous les ajouts/modifications effectués sur l'index
Version en cache
24/12/2024 00:37:26 Cette version de la page est en cache (à la date du 24/12/2024 00:37:26) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-solrclient.adddocuments.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.