Lucene stellt eine OpenSource Bibliothek zur Volltext Indexierung dar. Die Bibliothek ist auf nahezu allen bekannten Programmiersprachen portiert und intuitiv nutzbar. Schöner Aspekt an Lucene ist eine eigene Query Engine. Lucene erzeugt einen Index, auf dem der Entwickler über die Lucene Query Language zugreifen kann. Schwerpunkte bei Lucene liegen auf Performance und Skalierbarkeit.
Einfaches Beispiel für die Anwendung:
Rafael
Einfaches Beispiel für die Anwendung:
/* Index schreiben */
Analyzer analyzer = new org.apache.lucene.analysis.SimpleAnalyzer( );
//Index-Verzeichnisname, Analyzer-Typ, true um einen neuen index anzulegen
IndexWriter iwriter = new IndexWriter ("developersblogtestindex", analyzer, true);
//Dokumente hinzufügen
String docText[] = new String[4];
docText[0] = "Ich programmiere";
docText[1] = "eine Software";
docText[2] = "die die Lucene";
docText[3] = "Indexierung nutzt";
for (int i = 0; i < 4; docText.length){
Document doc = new Document ();
//Tokenizer für die einzelnen Wörter
Field f = new Field ("text", docText[i], Field.Store.YES, Field.Index.TOKENIZED);
doc.add(f);
//zum Index hinzufügen
iwriter.addDocument (doc);
}
iwriter.close();
/* Index auslesen */
Searcher searcher = new IndexSearcher("developersblogtestindex");
QueryParser qp = new QueryParser("text", analyzer);
Query query = qp.parse ("Lucene");
Hits hits = searcher.search(query);
int end = hits.length();
for (int i = 0; i < end; i++) {
Document doc = hits.doc(i);
String txt = doc.get("text");
System.out.println("Hit(" + i + ") " + txt);
}
searcher.close();
Viele GrüßeRafael
Technorati Tags: Volltextindexierung
