Jul 092014
 
Artículo PHP

En anteriores artículos hemos cubierto la instalación y configuración del motor de búsqueda solr.

En éste presentaremos la biblioteca Solarium que facilita el uso de solr desde un script PHP.

1. Instalación de Composer

Composer es una utilidad para la gestión de dependencias en aplicaciones PHP que se está haciendo cada vez más popular.

Solarium puede ser instalado sin utilizar composer, pero esta utilidad simplifica mucho la instalación.

Para instalar composer, basta con descargar y ejecutar el script de instalación:

2. Instalación de Solarium

Una vez instalado composer, en el mismo directorio en donde se encuentra el fichero “composer.phar” creamos el fichero “composer.json”, con el siguiente contenido:

El fichero composer.json contiene la relación de paquetes software que deben ser gestionados a través de composer. En nuestro caso, la versión 3.2.0 de solarium.

A continuación, ejecutamos “composer install” que se encarga de instalar solarium, y todas las dependencias que fueran necesarias:

Como podemos ver, composer ha detectado que la instalación de solarium necesita la instalación del paquete symfony/event-dispatcher del que depende, y procede a descargarlo e instalarlo.

3. Configuración de Solarium y scripts de ejemplo

Una vez instalado solarium, podemos ir al directorio “vendor/solarium/solarium/examples”, en donde hay numerosos script de ejemplo que nos permiten probar la instalación de solarium y la comunicación con solr.

Nota: Para poder ejecutar los ejemplos en el mismo directorio en el que se encuentran, debemos editar el fichero “init.php”, y sustituir la línea:

por:

 

Comenzamos ejecutando el script “1.1-check-solarium-and-ping.php”:

Como vemos, el script reconoce que Solarium 3.2.0 está instalado, pero da un error de conexión a solr. Esto se debe a que en nuestra instalación estamos ejecutando solr bajo un contenedor Tomcat que escucha en el puerto 8080, en lugar de utilizar el contenedor Jetty de ejemplo que escucha en el puerto 8369.

Para configurar adecuadamente la conexión de solarium a solr, creamos el fichero de configuración “config.php” con el siguiente contenido (podemos copiar el fichero config.dist.php a config.php, y editarlo):

Tras ello, volvemos a ejecutar el script de ejemplo:

Y en esta ocasión comprobamos que la conexión a solr se ha realizado correctamente, y solr nos devuelve un código de status “OK”.

4. Tipos de consultas

Analizando el código de los ejemplos incluidos en la instalación, podemos ver que el código de Solarium comienza siempre por la obtención de un objeto “cliente”.

A partir de este objeto, se obtiene un objeto de tipo “Query”, que es el que se utiliza para realizar consultas y actualizaciones.

Por ejemplo, para realizar una consulta sencilla:

En lugar de utilizar el método “createQuery”, pasándole el argumento “$client::QUERY_SELECT”, podemos llamar directamente al método equivalente “createSelect()”:

Del mismo modo, el objeto “client” implementa métodos específicos para cada tipo de acción que se desea llevar a cabo sobre la base de datos solr:

Referencias

Installation – SolariumWiki

Packagist – Solarium

Indice de artículos sobre programación en PHP

 Publicado por en 7:31 am

 Deja un comentario

(requerido)

(requerido)