|
||||||||||||||
| ISBN: 3423050012 ISBN: 3423050012 ISBN: 3423050012 ISBN: 3423050012 | ||||||||||||||
|
|
Wir empfehlen: | |||||||||||||
Lucene in der Praxis
[ Inhaltsverzeichnis ] ... [ zurück ] ... [ weiter ] ... [ Links und Literaturverzeichnis ] Übersicht: Lucene in der PraxisDownload und Installation von Lucene
Um Lucene benutzen zu können, müssen zunächst die entsprechenden Dateien runtergeladen werden, entweder über diese
Download-Seite, oder aber direkt über die offizielle
Lucene-FTP-Seite. Nachdem die Dateien entpackt wurden, müssen zu der
CLASSPATH-Variable die Dateien "lucene-1.2.jar" und, um
die Demos ausprobieren zu können, "lucene-demos-1.2.jar" hinzugefügt werden.
Wir wollen uns nun eine kleine Demoanwendung angucken, um zu sehen, wie Lucene in der Praxis funktionieren kann. Die benötigten Java-Quellen können von der Download-Seite heruntergeladen werden. Ein Beispielprogramm mit Lucene
Nachdem die Quellen (IndexFiles.java und SearchFiles.java) auf übliche Weise kompiliert wurden, wird nun der Index erstellt.
Dazu wird IndexFiles ausgeführt und als Argument der Pfad übergeben, dessen Dateien indiziert werden sollen, z. B.
"{Lucene-Pfad}/src", um die Lucene-Quelldateien durchsuchen zu können (java IndexFiles {Lucene-Pfad}/src).
Nun wird der Index erstellt. Danach wird SearchFiles ausgeführt (java SearchFiles) und man kann eine Suchanfrage eingeben. Für diese Mini-Suchmaschine werden also lediglich die drei relativ kurzen Quellen "IndexFiles", "SearchFiles" und "FileDocument" benötigt. Für das Programmieren eigener Anwendungen, die Lucene nutzen, empfiehlt sich immer wieder ein Blick in die javadoc-Dokumentationen der Lucene-Klassen. Schauen wir uns zunächst einmal die Datei "IndexFiles.java" an, mit Hilfe derer der Index erstellt wird.
import org.apache.lucene.analysis.de.GermanAnalyzer;
import org.apache.lucene.index.IndexWriter;
import java.io.*;
import java.util.*;
public
class IndexFiles
{
public static
void main(String[] args)
{
try
{
Date start = new Date();
IndexWriter writer = new IndexWriter(Const.INDEX_DIR, new GermanAnalyzer(), true);
indexDocs(writer, new File(args[0]));
writer.optimize();
writer.close();
}
catch (Exception e)
{
System.out.println(" caught a " + e.getClass() + "\n with message: " + e.getMessage());
}
}
public static void indexDocs(IndexWriter writer, File file)
throws Exception
{
if (file.isDirectory())
{
String[] files = file.list();
for (int i = 0; i < files.length; i++)
indexDocs(writer, new File(file, files[i]));
}
else
{
System.out.println("hinzugefuegt: " + file);
writer.addDocument(FileDocument.Document(file));
}
}
}
|
||||||||||||||
|
Back to the topic site: StudyPaper.com/Startseite/Computer/Informatik External Links to this site are permitted without prior consent. | ||||||||||||||
| Home | deutsch | Set bookmark | Send a friend a link | Copyright © | Impressum | ||||||||||||||