Erik Hatcher's Self-Contained Lucene Example
I was fortunate enough to attend Erik Hatcher’s Lucene presentation at the Northern Virginia Software Symposium. The symposium was organized by . I’ll talk more about Lucene as I explore its abilties.
For now, I’m just documenting the self-contained example program that Erik used as his first example:
/* * Created on Apr 21, 2003 * */ package com.affy.lucene.tutorial; import java.io.IOException; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.index.Term; import org.apache.lucene.search.Hits; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; import org.apache.lucene.search.Searcher; import org.apache.lucene.search.TermQuery; import org.apache.lucene.store.Directory; import org.apache.lucene.store.RAMDirectory; /** * This program indexes three strings using Lucene * and then searches for the string that contains * the "doc1" string. */ public class ErikHatcherSelfContainedExample { public static void main(String[] args) throws IOException { String docs[] = { "doc1 - present!", "doc2 is right here", "and do not forget lil ol doc3" }; Directory directory = new RAMDirectory(); Analyzer analyzer = new StandardAnalyzer(); IndexWriter writer = new IndexWriter(directory, analyzer, true); for (int j = 0; j < docs.length; j++) { Document d = new Document(); d.add(Field.Text("contents", docs[j])); writer.addDocument(d); } writer.close(); Searcher searcher = new IndexSearcher(directory); Query query = new TermQuery(new Term("contents", "doc1")); Hits hits = searcher.search(query); System.out.println("doc1 hits: " + hits.length()); searcher.close(); System.out.println("Done."); } }