Select a solr con Solarium en php☀️
Dentro de la carpeta vendor/solarium/solarium/examples creamos el archivo select.php
vim vendor/solarium/solarium/examples/select.php
En donde ponemos el siguiente codigo
<?php //llamamos a la conexion a la bd require(__DIR__.'/init.php'); //Inicializamos la instancia del cliente $client = new SolariumClient($config); //Creamos la instancia del query $query = $client->createQuery($client::QUERY_SELECT); //Ejecuta el query y retorna los valores $resultset = $client->execute($query); //Muestra el numero de registros encontrados echo 'NumFound: '.$resultset->getNumFound(); //Crea un ciclo con cada siclo encontrado foreach ($resultset as $document) { echo '<hr/><table>'; //Ciclamos cada columna para obtener el nombre de cada una de ellas foreach ($document as $field => $value) { //si la columna es multi-valor extraemos cada sub-columna if (is_array($value)) { $value = implode(', ', $value); } echo '<tr><th>' . $field . '</th><td>' . $value . '</td></tr>'; } echo '</table>'; }
en esta url
http://localhost/solarium/vendor/solarium/solarium/examples/select.php
vamos a ver un resultado algo asi:
Otro ejemplo mas practico es este:
vim vendor/solarium/solarium/examples/select-params.php
En donde ponemos el siguiente codigo
<?php //llamamos a la conexion a la bd require(__DIR__.'/init.php'); //creamos la instancia del cliente $client = new SolariumClient($config); //creamos la instancia del select $query = $client->createSelect(); //Hacemos la consulta $query->setQuery('age:32'); //seleccionamos las columnas a pedir $query->setFields(array('id','age','name')); //ordenamos por edad $query->addSort('age', $query::SORT_ASC); //Ejecutamos la consulta $resultset = $client->select($query); //Mostramos el total de registros echo 'NumFound: '.$resultset->getNumFound(); //mostramos el max score echo '<br>MaxScore: '.$resultset->getMaxScore(); //ciclo de todos los registros foreach ($resultset as $document) { echo '<hr/><table>'; //Ciclamos cada columna para obtener el nombre de cada una de ellas foreach ($document as $field => $value) { //si la columna es multi-valor extraemos cada sub-columna if (is_array($value)) { $value = implode(', ', $value); } echo '<tr><th>' . $field . '</th><td>' . $value . '</td></tr>'; } echo '</table>'; }
en esta url
http://localhost/solarium/vendor/solarium/solarium/examples/select-params.php
vamos a ver un resultado algo asi:
<<