package com.jspxcms.common.fulltext; import java.util.Collection; import java.util.List; import org.apache.lucene.document.Document; import org.apache.lucene.index.Term; import org.apache.lucene.search.Query; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import com.jspxcms.common.orm.Limitable; import com.mysema.query.types.EntityPath; import com.mysema.query.types.Predicate; /** * Lucene索引模板接口 * * @author liufang * */ public interface LuceneIndexTemplate { public List<String> list(Query query, String field, Limitable limitable); public Page<String> page(Query query, String field, Pageable pageable); public List<Document> list(Predicate predicate, EntityPath<Document> entityPath, Limitable limitable); public Page<Document> page(Predicate predicate, EntityPath<Document> entityPath, Pageable pageable); public void addDocument(Document document); public void addDocuments(Collection<Document> documents); public void updateDocument(Term term, Document document); public void deleteDocuments(Term... terms); public void deleteDocuments(Term term); public void deleteDocuments(Query... queries); public void deleteDocuments(Query query); public void deleteAll(); }