Cerco aiuto con Apache Lucene

mercoledì 04 ottobre 2006 - 16.40

jocker Profilo | Newbie

Ciao a tutti, ho bisogno di una mano per configurare il mio PC al fine di Utilizzare Apache LUCENE.
Ho scaricato il file archivio e l'ho scompattato, ma appena cerco di compilare qualche file .java mi da una strafila di errori.
Qualcuno conosce LUCENE e mi può dare una mano per favore?

MarKonE Profilo | Guru

>Ciao a tutti

Ciao

> ho bisogno di una mano per configurare il mio PC
>al fine di Utilizzare Apache LUCENE.

Sistema operativo ?

>Ho scaricato il file archivio e l'ho scompattato, ma appena cerco
>di compilare qualche file .java mi da una strafila di errori.

Quali per esempio ?

>Qualcuno conosce LUCENE e mi può dare una mano per favore?

Hai già dato un'occhiata qui ? :

http://lucene.apache.org/java/docs/gettingstarted.html

http://wiki.apache.org/jakarta-lucene/LuceneFAQ

Ciao

My Blog... http://blogs.dotnethell.it/Mark/

jocker Profilo | Newbie

ho già guardato entrambe le pagine ma ho ancora problemi, mi spiace ammetto di non essere molto competente.
Il sistema operativo è Windows XP, ed ho provato a compilare i file "IndexFiles.java" "SearchFiles.java" ecc...
Tu conosci Lucene?
Io ho scaricato il file archivio e l'ho scompattato, ho settato la variabile d'ambiente CLASSPATH con la path della cartella dove ho messo Lucene, il fatto è che se seguo le indicazioni in GettingStarted nel sito e cerco di creare un indice mi da il seguente errore:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/lucene/demo/IndexFiles

Praticamente non trova il file, non so cosa fare a questo punto, mi puoi dare qualche dritta?
Grazie!

MarKonE Profilo | Guru

Per favore posta l'intera stringa di CLASSPATH che utilizzi.

Deve puntare anche allo stesso archivio jar .... per esempio :

CLASSPATH=.;c:\jdk1.3.1_01;c:\jdk1.3.1_01\lib\lucene-1.2-rc4.jar;c:\jdk1.3.1 _01\lib\lucene-demos-1_2-rc4.jar

Fammi sapere.

Ciao

My Blog... http://blogs.dotnethell.it/Mark/

jocker Profilo | Newbie

Ora purtroppo sono in università e non sono a casa, appena vado a casa ti faccio sapere.
Per il momento grazie.

P.S. Bella l'immagine di Gatsu!

MarKonE Profilo | Guru

>Ora purtroppo sono in università e non sono a casa, appena vado
>a casa ti faccio sapere.

Ottimo

>Per il momento grazie.

Prego

>P.S. Bella l'immagine di Gatsu!

Non sapevo nemmeno fosse Gatsu
My Blog... http://blogs.dotnethell.it/Mark/

jocker Profilo | Newbie

Per curiosità tu hai già utilizzato LUCENE?

MarKonE Profilo | Guru

>Per curiosità tu hai già utilizzato LUCENE?

No
My Blog... http://blogs.dotnethell.it/Mark/

jocker Profilo | Newbie

GRANDE!!!

Sono riuscito a farlo andare, ho capito che quando cercavo di settare il classpath gli davo la cartella di Lucene e non i file stessi.

Grazie Mille, comunque se avrò ancora bisogno di aiuto aprirò un altro topic su questo forum.
Mi sei stato di grande aiuto!

MarKonE Profilo | Guru

>GRANDE!!!




>Sono riuscito a farlo andare, ho capito che quando cercavo di
>settare il classpath gli davo la cartella di Lucene e non i file
>stessi.



>Grazie Mille, comunque se avrò ancora bisogno di aiuto aprirò
>un altro topic su questo forum.

Certo! You are welcome !

>Mi sei stato di grande aiuto!

Sono contento Grazie per il feedback!

Per favore ora che hai risolto accetta una risposta così chiudiamo il thread.

Ciao!
My Blog... http://blogs.dotnethell.it/Mark/

jocker Profilo | Newbie

Aspetta ho un altra domanda da farti... (sempre se non rompo troppo)
Nella pagina seguente del GettingStarted di Lucene e dice di utilizzare Tomcat per integrare Lucene in una web application.

Ho installato a dovere Tomcat ma non capisco una cosa, devo copiare qualche file di Lucene nelle cartelle di Tomcat?

MarKonE Profilo | Guru

>Nella pagina seguente del GettingStarted di Lucene e dice di
>utilizzare Tomcat per integrare Lucene in una web application.

Mi dai il link esatto per favore ? Così evito di ravanare inutilmente

Ciao
My Blog... http://blogs.dotnethell.it/Mark/

jocker Profilo | Newbie

Questo è l'URL a cui facevo riferimento:

http://lucene.apache.org/java/docs/demo3.html

MarKonE Profilo | Guru

> Deploying the Demos
>
>Located in your distribution directory you should see a war file called luceneweb.war.
>If you're working with a Subversion checkout, this will be under the build subdirectory.

Cerca il file luceneweb.war

> Copy this to your {tomcat-home}/webapps directory.

Copialo nella cartella ../webapps

>You may need to restart Tomcat.

Fai ripartire il servizio Tomcat.

>Configuration

> From your Tomcat directory look in the webapps/luceneweb subdirectory. If it's not >present, try browsing to http://localhost:8080/luceneweb (which causes Tomcat to deploy >the webapp), then look again.

Cerca la cartella webapps/luceneweb. Se non la vedi apri il browser all'indirizzo http://localhost:8080/luceneweb così tomcat la creerà.

>Edit a file called configuration.jsp. Ensure that the indexLocation is equal to the location you >used for your index.

Controlla il file configuration.jsp. Assicurati che la voce indexLocation corrisponda al percorso del tuo file index.

>Once you have finished altering the configuration you may need to restart Tomcat.

Fai ripartire il servizio Tomcat.

Ciao
My Blog... http://blogs.dotnethell.it/Mark/

jocker Profilo | Newbie

Ok l'ho fatto, il problema è che quando sulla console edito
"java org.apache.lucene.demo.IndexHTML -create -index {index-dir} .."

Mi dice che la sintassi del nome del file, della directory o del volume è incorretta

Poi ho controllato anche IndexLocation e l'indirizzo è : /opt/lucene/index
la cartella non esiste però...

jocker Profilo | Newbie

In pratica il mio problema ora riguarda il punto precedente alla modifica del file "configuration".

Sostanzialmente il problema è l'indicizzazione, anche perchè penso che sia l'ultimo ostacolo,
infatti se poi apro la pagina "localhost:8080/luceneweb" viene visualizzato tutto crrettamente ma se inserisco "test" nella casella di testo mi da un'eccezione, penso che sia legato proprio all'indicizzazione...

MarKonE Profilo | Guru

Ciao, per favore sii più preciso quando ti riferisci ad errori che incontri così sarà più facile aiutarti.


In ogni caso :

>If you get an error regarding opening the index, then you probably set the path in configuration.jsp incorrectly or Tomcat doesn't have >permissions to the index (or you skipped the step of creating it).

Sembra che possa essere un errore di path sbagliato nel file configuration.jsp, che tomcat non abbia i permessi per accedervi correttamente o che l'indice non sia addirittura stato creato

Che mi dici ?

Ciao
My Blog... http://blogs.dotnethell.it/Mark/

jocker Profilo | Newbie

Precisamente l'indice non riesco a crearlo, perchè quando digito sulla console

"java org.apache.lucene.demo.IndexHTML -create -index {index-dir} .."

Mi dice che "la sintassi del nome del file, della directory o del volume è incorretta"

Ma come {index-dir} devo inserire la path dell'index che ho creato inizialmente con Lucene?

Spero di essere stato più preciso...

Mi stai dando una grande mano, ti ofrirei una birra se ti conoscessi...

MarKonE Profilo | Guru

>{index-dir} should be a directory that Tomcat has permission to read and write, but is outside of a web accessible context. By default >the webapp is configured to look in /opt/lucene/index for this index

{index-dir} dovrebbe essere una directory su cui Tomcat ha i permessi di lettura e scrittura, ma fuori da un contesto accessibile via web.
Per default la ricerca dell'indice viene effettuata nella cartella /opt/lucene/index

Naturalmente devi inserire un path che esiste.... al massimo crea tu questa struttura di cartelle.
Dovrebbe essere sufficiente.


>Mi stai dando una grande mano, ti ofrirei una birra se ti conoscessi...

Speriamo di arrivare alla risoluzione del problema, gratificazione meno alcolica ma altrettanto piacevole

Ciao
My Blog... http://blogs.dotnethell.it/Mark/

jocker Profilo | Newbie

Speriamo davvero di arrivare ad una conclusione...
Ho creato la struttura di cartelle

opt\lucene\index

nella cartella

apache-tomcat-5.5.20\webapps\luceneweb

e dal prompt digito "java org.apache.lucene.demo.IndexHTML -create -index opt/lucene/index"
Mi dice che è impossibile trovare il percrso specificato.
Ora mi sorgono due domande:

- Ho creato la struttura opt\apache\lucene nel posto giusto?
- E' giusto digitare la stringa "java org.apache.lucene.demo.IndexHTML -create -index opt/lucene/index" dalla cartella "apache-tomcat-5.5.20\webapps\luceneweb"?

MarKonE Profilo | Guru

>- Ho creato la struttura opt\apache\lucene nel posto giusto?

Il dove non dovrebbe essere un problema, a patto che Tomcat abbia i diritti di scrittura sulla cartella.

>- E' giusto digitare la stringa "java org.apache.lucene.demo.IndexHTML
>-create -index opt/lucene/index" dalla cartella "apache-tomcat-5.5.20\webapps\luceneweb"?

Apri il prompt dei comandi....e digita per esempio :

java -version

Dovresti vedere la versione del runtime java installato sul tuo sistema. Se ti risponde significa che il comando "java" è in una cartella inserita nel PATH di sistema...quindi puoi lanciare il tuo comando da dova vuoi.

Prova 2 cose :

1 - usa l'altra barra non questa "/" ma questa "\"

2 - Prova a specificare esplicitamente il percorso completo della cartella :

java org.apache.lucene.demo.IndexHTML -create -index c:.... opt\lucene\index

Ciao
My Blog... http://blogs.dotnethell.it/Mark/

jocker Profilo | Newbie

Al comando java -version risponde ma la variabile d'ambiente di java l'avevo già settata infatti non mi da problemi nel riconoscimento del comando.

Gli "\" o "/" sono indifferenti, però se inserivo solo "opt\lucene\index" come {index-dir} mi dice che non trova la cartella,

Se invece inserisco tutta la path partendo da c:\ mi dice che la sintassi del nome del file, della directory o del volume è errata, ma non ho sbagliato a srcivere niente...

MarKonE Profilo | Guru

>Al comando java -version risponde ma la variabile d'ambiente
>di java l'avevo già settata infatti non mi da problemi nel riconoscimento
>del comando.

Ok.

>Gli "\" o "/" sono indifferenti

?????

Cioè che tu scriva

java org.apache.lucene.demo.IndexHTML -create -index opt/lucene/index

oppure

java org.apache.lucene.demo.IndexHTML -create -index opt\lucene\index

non cambia nulla ????

> però se inserivo solo "opt\lucene\index"
>come {index-dir} mi dice che non trova la cartella,

Questo l'hai letto ?

http://lucene.apache.org/java/docs/demo.html

>Se invece inserisco tutta la path partendo da c:\ mi dice che
>la sintassi del nome del file, della directory o del volume è
>errata, ma non ho sbagliato a srcivere niente...

Cosa scrivi esattamente ? Sicuro che il path non contenga spazi ?

My Blog... http://blogs.dotnethell.it/Mark/

jocker Profilo | Newbie

Cioè che tu scriva
java org.apache.lucene.demo.IndexHTML -create -index opt/lucene/index
oppure
java org.apache.lucene.demo.IndexHTML -create -index opt\lucene\index
non cambia nulla ????

Esattamente non cambia nulla...

Questo l'hai letto ?
http://lucene.apache.org/java/docs/demo.html

Si l'ho letto, ma come index gli devo dare per forza quella cartella che ho creato all'inizio?
Perchè in tal caso dovrei ricrearne un altra...

Cosa scrivi esattamente ? Sicuro che il path non contenga spazi ?

Precisamente io mi trovo nella cartella "c:\apache\tomcat-5.5.20\webapps\luceneweb" all'interno della quale ho creato "opt\lucene\index" ma creando cartelle normali.
La mia riga di comando è: "java org.apache.lucene.IndexHTML -create -index opt\lucene\index"
Il prompt mi risponde "Impossibile trovare il percorso specificato"

Ciao

jocker Profilo | Newbie

Sto provando in tutti i modi a creare un indice ma mi da sempre errore, non accetta mai la path che gli do
anche se ho provato a creare cartelle ovunque...
Tu ti sei fatto qualche idea per caso?

Ciao.

MarKonE Profilo | Guru

>Tu ti sei fatto qualche idea per caso?

Secondo me da qualche parte è stato fatto un po' di casino

Ora studio....

>Ciao.

Ciao
My Blog... http://blogs.dotnethell.it/Mark/

MarKonE Profilo | Guru

Allora.... procediamo per punti.

Io ho scaricato questo: http://mirror.tomato.it/apache/lucene/java/lucene-2.0.0.zip

Tra gli altri file ci sono questi due :

lucene-demos-2.0.0.jar
lucene-core-2.0.0.jar


Vanno aggiunti *entrambi* alla CLASSPATH.


Fatto questo dovresti lanciare il seguente comando (occhio al percorso *completo* alla cartella SRC) :

java org.apache.lucene.demo.IndexFiles c:\apache\tomcat-5.5.20\webapps\luceneweb\lucene-2.0.0\src

Questo dovrebbe creare la sottocartella "index".

Se tutto va bene digitando il comando "java org.apache.lucene.demo.SearchFiles" dovrebbe venirti richiesto un termine per la ricerca.


Fino a qui tutto bene ???? Fammi sapere.


Ciao ora è tempo di pappa
My Blog... http://blogs.dotnethell.it/Mark/

jocker Profilo | Newbie

Fino quì tutto ok, ma il comando:

java org.apache.lucene.demo.IndexFiles c:\apache\tomcat-5.5.20\webapps\luceneweb\lucene-2.0.0\src

Lo digiti direttamente dalla root "C:\" ?

Perchè la cartella index la crea nella cartella dalla quale digiti il comando.
Quindi poi tu hai copiato tutta la cartella "lucene-2.0.0" nella cartella "luceneweb" di Tomcat?

Ciao

MarKonE Profilo | Guru

>Fino quì tutto ok, ma il comando:

Bene

>java org.apache.lucene.demo.IndexFiles c:\apache\tomcat-5.5.20\webapps\luceneweb\lucene-2.0.0\src
>
>Lo digiti direttamente dalla root "C:\" ?
>
>Perchè la cartella index la crea nella cartella dalla quale digiti
>il comando.

La cartella che contiene l'indice può stare da qualsiasi parte... visto che non deve essere direttamente visibile dal web...ma la usa la tua applicazione per cercare i dati.
L'importante è che il file configuration.jsp (se non sbaglio) contenga il riferimento corretto all'indice. Hai verificato ?

Il comando java org.apache.lucene.demo.SearchFiles genera una richiesta di inserimento parola ?


>Quindi poi tu hai copiato tutta la cartella "lucene-2.0.0" nella
>cartella "luceneweb" di Tomcat?

Non ho installato tomcat sul mio pc, spero di risolvere senza

Se non ce la facciamo lo installerò in locale.

>Ciao

Ciao
My Blog... http://blogs.dotnethell.it/Mark/

jocker Profilo | Newbie

Ma la path dell'indice che inserisco nel file "configuration.jsp" è la stessa che devo mettere come {index-dir} nel comando:

"java org.apache.lucene.demo.IndexHTML -create -index {index-dir} .."

Il problema è che come {index-dir} non posso inserire una path intera partendo dalla ROOT c:\ perchè mi da errore.

MarKonE Profilo | Guru

>Il problema è che come {index-dir} non posso inserire una path
>intera partendo dalla ROOT c:\ perchè mi da errore.
>

Se è come dici tu lancia il comando per la creazione della cartella index dall'interno della cartella di apache\lucene ....
My Blog... http://blogs.dotnethell.it/Mark/

jocker Profilo | Newbie

Ho provato, ma se come {index-dir} metto

c:\index

continua a dirmi che la sintassi è scorretta.
Le sto provando tutte dannazione tra un po mi esplode il cervello...

MarKonE Profilo | Guru

>Ho provato, ma se come {index-dir} metto
>
>c:\index
>

Il comando :

java org.apache.lucene.demo.IndexHTML -create -index {index-dir} ..

Deve essere lanciato da una sotto cartella di ../tomcat/webapps .

Quindi da start --> esegui --> cmd

digita
cd\
cd c:\apache\tomcat-5.5.20\webapps\luceneweb
e poi il solito
java org.apache.lucene.demo.IndexHTML -create -index {index-dir} ..

Non dimenticarti i due punti finali ".."


Vedi anche questo esempio : http://muimi.com/j/jakarta/lucene/

Ciao



My Blog... http://blogs.dotnethell.it/Mark/

jocker Profilo | Newbie

L'ho fatto Finalmente va, ho provato a far andare luceneweb su Tomcat e mi da un errore sul File configuration.jsp

In qualsiasi caso cercherò di risolvere da solo questo problema, l'importante è che ora Lucene funziona!

Non so come ringraziarti!

Accetterò la tua risposta e considererò questo problema risolto, se avrò altri problemi (magari con Tomcat) aprirò un altro post.

Grazie ancora, Ciao!

MarKonE Profilo | Guru

>L'ho fatto Finalmente va,

Stappiamo le bottiglie


>Non so come ringraziarti!

Già sapere che vada è una gioia

>se avrò altri problemi (magari con Tomcat) aprirò un altro post.

Bene !

>
>Grazie ancora, Ciao!

Ciao!
My Blog... http://blogs.dotnethell.it/Mark/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5