(PECL solr >= 0.9.11)
SolrClient::setResponseWriter — Establece el autor de la respuesta usado para preparar la respuesta de Solr
$responseWriter
)Establece el autor de la respuesta usado para preparar la respuesta de Solr
responseWriter
Uno de los siguientes autores:
- xml - phpnative
No devuelve ningún valor.
Ejemplo #1 Ejemplo de SolrClient::setResponseWriter()
<?php
// Esta es mi clase personalizada para los objetos
class SolrClass
{
public $_propiedades = array();
public function __get($nombre_propiedad) {
if (property_exists($this, $nombre_propiedad)) {
return $this->$nombre_propiedad;
} else if (isset($_propiedades[$nombre_propiedad])) {
return $_propiedades[$nombre_propiedad];
}
return null;
}
}
$opciones = array
(
'hostname' => 'localhost',
'port' => 8983,
'path' => '/solr/core1'
);
$cliente = new SolrClient($opciones);
// ESto usa la clase org.apache.solr.request.PHPNativeResponseWriter de Solr
// Visite las siguientes páginas para más detalles the following pages for more details:
// https://issues.apache.org/jira/browse/SOLR-1967
// http://wiki.apache.org/solr/QueryResponseWriter
// http://wiki.apache.org/solr/SolPHP
$cliente->setResponseWriter("phpnative");
//$respuesta = $cliente->ping();
$consulta = new SolrQuery();
$consulta->setQuery("*:*");
$consulta->set("objectClassName", "SolrClass");
$consulta->set("objectPropertiesStorageMode", 1); // 0 para propiedades independientes, 1 para combinadas
try
{
$respuesta = $cliente->query($consulta);
$resp = $respuesta->getResponse();
print_r($respuesta);
print_r($resp);
} catch (Exception $e) {
print_r($e);
}
?>
El resultado del ejemplo sería algo similar a: