[url]https://github.com/akkumar/hbasene/wiki/hello-world[/url]
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;
import org.apache.hadoop.hbase.client.HTablePool;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.util.Version;
public class HelloWorldClass {
public static void main(final String[] args) throws IOException {
final String indexName = "myindex";
Configuration conf = HBaseConfiguration.create(); //hbase-site.xml in the classpath
//with hbase.zookeeper.quorum, property configured.
HBaseIndexStore.createLuceneIndexTable(indexName, conf, true);
HTablePool tablePool = new HTablePool(conf, 10);
//Write
HBaseIndexStore hbaseIndex = new HBaseIndexStore(tablePool, indexName);
HBaseIndexWriter writer = new HBaseIndexWriter(hbaseIndex, "id"); //Name of the primary key field.
Document doc = getDocument();
writer.addDocument(doc, new StandardAnalyzer(Version.LUCENE_30));
//Read/Search
IndexReader reader = new HBaseIndexReader(tablePool, indexName);
IndexSearcher searcher = new IndexSearcher(reader);
TopDocs docs = searcher.search(new TermQuery(new Term("content", "plays")),
3);
searcher.close();
}
private static Document getDocument() {
Document doc = new Document();
doc.add(new Field("content", "some content", Field.Store.NO,
Field.Index.ANALYZED_NO_NORMS));
doc.add(new Field("id", "some id", Field.Store.YES, Field.Index.NO));
return doc;
}
}