(PECL solr >= 0.9.11)
SolrClient::setResponseWriter — Establece el autor de la respuesta usado para preparar la respuesta de Solr
Establece el autor de la respuesta usado para preparar la respuesta de Solr
Uno de los siguientes autores:
- xml - phpnative
No se devuelve ningún valor.
Example #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: