package org.thrudb.thrudex.lucene;
import org.apache.lucene.document.Document;
import org.apache.lucene.analysis.Analyzer;
import org.thrudb.thrudex.SearchQuery;
import org.thrudb.thrudex.SearchResponse;
import org.thrudb.thrudex.ThrudexException;
/**
* Defines the public interaction with a lucene index
*
* @author jake
*
*/
public interface LuceneIndex {
static final String DOCUMENT_KEY = "__KEY__";
static final String PAYLOAD_KEY = "__PAYLOAD__";
void put(String key, Document document, Analyzer analyzer) throws ThrudexException;
void remove(String key) throws ThrudexException;
SearchResponse search(SearchQuery query, Analyzer analyzer) throws ThrudexException;
void optimize() throws ThrudexException;
void shutdown();
}