lucene howto - betaingegneria.it

annuncio pubblicitario
LUCENE HOWTO
Marco Barbato
February 22, 2008
Abstract
Come installare il motore di ricerca Apache Lucene.
1
Lucene howto
1.1
Sistema Operativo
In questo howto faccio riferimento ad un PC con sistema operativo Linux
Ubuntu GutsyGibbon 7.10 su un HP Intel(R) Pentium(R) M processor
1.86GHz - 1GB RAM. Alcune note per Windows sono comunque inserite
nel prosieguo.
1.2
Installazione di Tomcat
Ho installato Tomcat 5.5 secondo l’howto che si trova qui:
http://ubuntuforums.org/showthread.php?p=226828
In alternativa: Si installa Tomcat con synaptics (attualmente - feb.08
- con la mia Gutsy il Tomcat proposto è il 5.5); occorre poi impostare a
mano la JAVA HOME e CATALINA HOME.
Per impostare la variabile JAVA HOME fare riferimento allo script
/etc/init.d/tomcat (cercare la linea
# The first existing directory is used for JAVA_HOME ...
JDK\_DIRS="/usr/lib/jvm/java-6-sun /usr/lib/jvm/java-1.5.0-sun
/usr/lib/j2sdk1.5-sun /usr/lib/j2sdk1.5-ibm
/usr/lib/j2sdk1.4-sun
/usr/lib/j2sdk1.4-blackdown /usr/lib/j2se/1.4
/usr/lib/j2sdk1.4-ibm
/usr/lib/j2sdk1.3-sun /usr/lib/j2sdk1.3-blackdown
/usr/lib/jvm/java-gcj
/usr/lib/kaffe"
)
Io ho impostato cosı̀:
$ export JAVA_HOME=/usr/lib/jvm/java-6-sun
$ export CATALINA_HOME=/usr/share/tomcat5.5
e ho aggiunto queste linee all’/etc/profile cosı̀ è a disposizione di tutti gli
utenti della mia macchina ogni volta che entrano in shell.
La porta in cui risponde Tomcat è la 8180 ma si puo’ anche cambiare
editando e modificando il file $CATALINA HOME/conf/server.xml (cerca la
linea <Connector port="8180" )
1
Nota Bene: in Windows la cosa è semplificata dalla GUI di manutenzione di Tomcat che scrive direttamente nelle variabili di ambiente e nei
file XML. Inoltre le variabili di ambiente JAVA HOME e JRE HOME vengono
impostate di default all’installazione, qui bisogna impostarle a mano.
Se avvio Tomcat da linea di comando si vede:
marcob@bach: $ sudo /usr/share/tomcat5.5/bin/startup.sh
Using CATALINA_BASE:
/usr/share/tomcat5.5
Using CATALINA_HOME:
/usr/share/tomcat5.5
Using CATALINA_TMPDIR: /usr/share/tomcat5.5/temp
Using JRE_HOME:
/usr/lib/jvm/java-6-sun
marcob@bach: $
Nota Bene: JRE HOME prende il valore di JAVA HOME.
1.3
Installazione di Lucene
1. Ho installato lucene con synaptics: i file vengono depositati qui:
/usr/share/java/lucene-1.4.3.jar
/usr/share/java/lucene-demos-1.4.3.jar
2. Ho impostato la CLASSPATH con quei due percorsi lı̀:
$ export CLASSPATH=/usr/share/java/lucene-1.4.3.jar
$ export CLASSPATH=$CLASSPATH:/usr/share/java/lucene-demos-1.4.3.jar
e l’ho messa anche in /etc/profile cosı̀ si ricarica ad ogni shell.
3. Ho indicizzato la subdirectory webpps come da Usage:
IndexHTML [-create] [-index] <index-dir> <root-dir>;
dovrei poter, alla fine, cercare tramite maschera HTML tra i file di
testo che sono in webapps. L’utente sotto cui gira tomcat è tomcat55
4. Creo la directory in cui depositare gli indici:
# mkdir /home/marcob/lucene/index
5. Scelgo una directory da indicizzare (verranno indicizzati solo i file
.txt nella versione demo)
# cd /usr/share/tomcat5.5/webapps/luceneweb
# java org.apache.lucene.demo.IndexHTML
-create -index /home/marcob/lucene/index ..
adding ../luceneweb/README.txt
Optimizing index...
221 total milliseconds
ha aggiunto un solo file... ma per provare va bene! Infatti IndexHTML indicizza solo file con estensione .txt, .htm, .html e in questo
caso ho fatto la scansione della directory webapps in cui vi sono solo
file jsp e un solo file txt.
Qui .. è la directory da indicizzare (webapps) mentre
/home/marcob/lucene/index
è la directory in cui depositare gli indici.
2
# ll /home/marcob/lucene/index
totale 12
-rw-r--r-- 1 root root 863 2008-02-05 17:01 _1.cfs
-rw-r--r-- 1 root root
4 2008-02-05 17:01 deletable
-rw-r--r-- 1 root root 27 2008-02-05 17:01 segments
6. Configuro Tomcat perch veda index-dir come directory dell’indice:
$ cat configuration.jsp
<\%
/* Author: Andrew C. Oliver ([email protected]) */
String appTitle = "Jakarta Lucene Example Intranet Server Search Application";
/* make sure you point the below string to the index
you created with IndexHTML */
/*String indexLocation = "/opt/lucene/index";*/
String indexLocation = "/home/marcob/lucene/index";
String appfooter = "Jakarta Lucene Template WebApp 1.0";
\%>
7. Faccio ripartire Tomcat
# $CATALINA_HOME/bin/shutdown.sh
# $CATALINA_HOME/bin/startup.sh
8. Provo la web application... Punto il browser su http://localhost:8180/
OK mi compare la pagina di Tomcat
Ora punto il browser su http://localhost:8180/luceneweb
OK mi compare la form di ricerca
Scrivo ”Jakarta”, INVIO e... funziona!
3
Scarica