package org.solbase.indexer;
import java.util.List;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.client.Scan;
import org.apache.hadoop.mapreduce.Mapper.Context;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.solbase.lucenehbase.IndexWriter;
abstract public class SolbaseIndexUtil {
protected Analyzer analyzer = null;
protected IndexWriter writer = null;
public Analyzer getAnalyzer(){
return this.analyzer;
}
public IndexWriter getIndexWriter(){
return this.writer;
}
abstract public List<String> getSortFieldNames();
abstract public Document createLuceneDocument(String globalId, Result values, @SuppressWarnings("rawtypes") Context context);
public void addFieldToDoc(Document document, String fieldId, String val){
Field docIdField = new Field(fieldId, val, Field.Store.YES, Field.Index.NO);
document.add(docIdField);
}
public Scan getScanner(){
// override this method
Scan scan = new Scan();
scan.setBatch(1000);
scan.setCaching(1000);
return scan;
}
public String getStartTerm() {
return null;
}
public String getEndTerm() {
return null;
}
public Integer getNumberOfTVRegions() {
return null;
}
public Integer getMaxDocs() {
return null;
}
public byte[] getStartDocKey() {
return null;
}
public Integer getNumberOfDocKeyRegions() {
return null;
}
public Integer getNumberOfDocRegions() {
return null;
}
public byte[] getEndDocKey() {
return null;
}
public String getUniqStartKey() {
return null;
}
public String getUniqEndKey() {
return null;
}
public Integer getNumberOfUniqRegions(){
return null;
}
}