(PECL solr >= 0.9.11)
SolrClient::setResponseWriter — Définit le gestionnaire à utiliser pour préparer la réponse depuis Solr
$responseWriter
)Définit le gestionnaire à utiliser pour préparer la réponse depuis Solr.
responseWriter
Un parmi les suivants :
- xml - phpnative
Aucune valeur n'est retournée.
Exemple #1 Exemple avec SolrClient::setResponseWriter()
<?php
// Ceci est ma classe personnalisée pour les objets
class SolrClass
{
public $_properties = array();
public function __get($property_name) {
if (property_exists($this, $property_name)) {
return $this->$property_name;
} else if (isset($_properties[$property_name])) {
return $_properties[$property_name];
}
return null;
}
}
$options = array
(
'hostname' => 'localhost',
'port' => 8983,
'path' => '/solr/core1'
);
$client = new SolrClient($options);
// Ceci utilise la classe org.apache.solr.request.PHPNativeResponseWriter sur Solr
// Reportez-vous aux pages suivantes pour plus de détails
// https://issues.apache.org/jira/browse/SOLR-1967
// http://wiki.apache.org/solr/QueryResponseWriter
// http://wiki.apache.org/solr/SolPHP
$client->setResponseWriter("phpnative");
//$response = $client->ping();
$query = new SolrQuery();
$query->setQuery("*:*");
$query->set("objectClassName", "SolrClass");
$query->set("objectPropertiesStorageMode", 1); // 0 pour des propriétés indépendantes, 1 pour des propriétés combinées
try
{
$response = $client->query($query);
$resp = $response->getResponse();
print_r($response);
print_r($resp);
} catch (Exception $e) {
print_r($e);
}
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :