Drupal

Drupal Search API amb Apache Solr: instal·lació

En aquesta série d’entrades aprendrem a instal·lar i configurar l’Apache Solr amb la Search API de Drupal per fer cerques ràpides al nostre web.

Drauta agencia digitalDrauta

Drupal Search API amb Apache Solr: instal·lació

Com instal·lar Drupal Search API amb Apache Solr

Comencem amb aquesta sèrie de tutorials. En el nostre cas ho farem sobre un servidor linux basat en CentOS 6.5.

Però primer… Què és Apache Solr?

L’Apache Solr (pronunciat ‘solar’) és una plataforma Open Source per a la cerca de contingut. Permet la cerca de text, resultat de paraules, cerca per facetes, integració amb bases de dades, agrupació dinàmica i gestió de documents de text ric com PDF o Microsoft Word.

Apache Solr està escrit en Java i funciona com un servidor que corre sobre un servlet de Tomcat o Jetty.

INTAL·LACIÓ DE L'ENTORN

En primer lloc instal·larem la màquina virtual de Java. Però primer anirem a veure quina versió necessita el nostre Apache Solr.

En el moment que hem escrit aquesta entrada Solr es troba en la versió 4.10.0, i, segons la seva documentació, la versió recomanada de Java és la 1.7. Per tant, anirem al terminal del nostre servidor i executarem:

yum install java-1.7*

INSTAL·LACIÓ DE SOLR

La intal·lació i posada en marxa del Solr és molt senzilla. En primer lloc ens descarreguem els binaris i els descomprimim:

wget http://mirrors.sonic.net/apache/lucene/solr/4.10.0/solr-4.10.0.tgz
tar -xvf solr-4.10.0.tgz

Un cop fet això hem de traslladar-los a la carpeta on vulguem instal·lar-lo. Nosaltres hem decidit que el seu lloc és /var/lib/solr, per tant executem:

mv solr-4.10.0 /var/lib/solr

El següent pas serà fer una còpia de la carpeta example i l’anomenarem ‘core’.
Example és un projecte base de Solr que es permet tenir-lo en marxa en pocs segons i sense gaires mals de cap.

cp -R /var/lib/solr/example /var/lib/solr/core

Perfecte! Ja tenim el Solr instal·lat. Abans de continuar farem un petit test per comprovar el seu funcionament.

Per arrencar-lo de forma manual executarem:

java -jar /var/lib/solr/core/start.jar

Aquest programa Java s’encarregarà de crear un contenidor Jetty per al nostre Solr i executar-lo al port per defecte 8983. Per tant, podem adreçar-nos a la interfície web mitjançant aquesta direcció:

http://localhost:8983/solr/

Si tot ha anat bé es mostrarà aquest web:

Drupal Apache Solr

Ara comprovarem que s’ha creat una instància. Com hem copiat el directori d’exemple, el nom d’aquesta instància serà ‘collection1′. Despleguem el core selector i veurem que efectivament apareix:

Drupal Apache Solr

Perfecte, ja podem parar el nostre Solr.

Per acabar instal·larem els scripts d’arrencada i configurarem el servidor per a què quan es reinicii posi en marxa el servei.

Per sort no haurem de crear el script de forma manual, ja que existeix un petit projecte a Githubanomenat ‘solr-initd’ que ens ho soluciona.

Consta de 3 fitxers:

  • solr.start
  • solr.conf
  • solr.initd

Només hem de posar cada fitxer al seu corresponent directori i configurar el solr.conf:

mv solr.start /var/lib/solr/core/solr.start
mv solr.conf /etc/solr.conf
mv solr.initd /etc/init.d/solr


Modificarem les variables SOLR_HOME i SOLR_START del solr.conf. En el nostre cas quedarien així:

SOLR_HOME=/var/lib/solr/core
SOLR_START=/var/lib/solr/core/solr.start

Per últim afegim el Solr a l’arrencada del nostre sistema i l’arranquem:

chkconfig solr on
service solr start

Molt bé, el nostre Solr ja està instal·lat i funcionant. Ho podem comprovar de la mateixa forma que abans.

CONFIGURACIÓ DE LA SEARCH API AMB APACHE SOLR

Un cop el Solr està instal·lat i funcionant li hem de dir al nostre Drupal on pot trobar aquest servidor. Per fer això necessitarem aquests dos mòduls instal·lats i activats:

  • Search api (com no)
  • Search API Solr Search

Abans de continuar hem de fer uns canvis a la configuració del Solr per a què la Search API “s’entengui” de forma correcta amb el nostre servidor de cerca. Per això haurem de copiar uns fitxers que inclou el directori del mòdul Search API Solr Search:

yes | cp /directori-al-nostre-drupal/sites/all/modules/search_api_solr/solr-conf/4.x/* /var/lib/solr/core/solr/collection1/conf
service solr restart

Ara anirem a la Search API (admin/config/search/search_api) i afegirem el nostre servidor. Com podreu imaginar hem de seleccionar com a classe de servei ‘Servei Solr’. Fet això ens apareixerà un formulari on, de moment, només hem de configurar el host, el port i la ruta:

Servidor Solr: localhost

Port: 8983

Ruta: /solr/

Un cop configurat a la vista del servidor tindrem una taula semblant a aquesta:

Drupal Apache Solr

Ja tenim la nostra Search API correctament configurada per començar a fer servir el Solr com a servidor d’indexació de continguts.

En el següent capítol farem una vista simple que utilitzarà la Search API. A més a més, millorarem la seguretat del nostre Servidor Apache Solr!

Vols començar un nou projecte amb nosaltres?

Necessites un servei per a la teva web? Descobreix com et podem ajudar i no dubtis en contactar amb nosaltres.