package fr.openwide.core.jpa.search.service; import java.io.Serializable; import java.util.Collection; import java.util.List; import java.util.Set; import org.apache.lucene.search.Query; import org.apache.lucene.search.Sort; import fr.openwide.core.jpa.business.generic.model.GenericEntity; import fr.openwide.core.jpa.business.generic.model.GenericEntityReference; import fr.openwide.core.jpa.business.generic.service.ITransactionalAspectAwareService; import fr.openwide.core.jpa.exception.ServiceException; public interface IHibernateSearchService extends ITransactionalAspectAwareService { void reindexAll() throws ServiceException; void reindexClasses(Collection<Class<?>> classes) throws ServiceException; <K extends Serializable & Comparable<K>, E extends GenericEntity<K, ?>> void reindexEntity(E entity); <K extends Serializable & Comparable<K>, E extends GenericEntity<K, ?>> void reindexEntity(GenericEntityReference<K, E> reference); <K extends Serializable & Comparable<K>, E extends GenericEntity<K, ?>> void reindexEntity(Class<E> clazz, K id); Set<Class<?>> getIndexedRootEntities() throws ServiceException; Set<Class<?>> getIndexedRootEntities(Collection<Class<?>> classes) throws ServiceException; void flushToIndexes(); /** * @deprecated Implement your own search query instead, either through a custom DAO or * through {@link fr.openwide.core.jpa.more.business.search.query.ISearchQuery<T, S>} as defined in * owsi-core-component-jpa-more. See in particular * {@link fr.openwide.core.jpa.more.business.search.query.AbstractHibernateSearchSearchQuery<T, S>}. */ @Deprecated <T> List<T> search(Class<T> clazz, String[] fields, String searchPattern) throws ServiceException; /** * @deprecated See {@link #search(Class, String[], String)} */ @Deprecated <T> List<T> search(Collection<Class<? extends T>> classes, String[] fields, String searchPattern, String analyzerName) throws ServiceException; /** * @deprecated See {@link #search(Class, String[], String)} */ @Deprecated <T> List<T> search(Class<T> clazz, String[] fields, String searchPattern, String analyzerName) throws ServiceException; /** * @deprecated See {@link #search(Class, String[], String)} */ @Deprecated <T> List<T> searchAutocomplete(Class<T> clazz, String[] fields, String searchPattern) throws ServiceException; /** * @deprecated See {@link #search(Class, String[], String)} */ @Deprecated <T> List<T> searchAutocomplete(Class<T> clazz, String[] fields, String searchPattern, String analyzerName) throws ServiceException; /** * @deprecated See {@link #search(Class, String[], String)} */ @Deprecated <T> List<T> search(Class<T> clazz, String[] fields, String searchPattern, Query additionalLuceneQuery) throws ServiceException; /** * @deprecated See {@link #search(Class, String[], String)} */ @Deprecated <T> List<T> search(Collection<Class<? extends T>> classes, String[] fields, String searchPattern, String analyzerName, Query additionalLuceneQuery) throws ServiceException; /** * @deprecated See {@link #search(Class, String[], String)} */ @Deprecated <T> List<T> search(Class<T> clazz, String[] fields, String searchPattern, String analyzerName, Query additionalLuceneQuery) throws ServiceException; /** * @deprecated See {@link #search(Class, String[], String)} */ @Deprecated <T> List<T> searchAutocomplete(Class<T> clazz, String[] fields, String searchPattern, Query additionalLuceneQuery) throws ServiceException; /** * @deprecated See {@link #search(Class, String[], String)} */ @Deprecated <T> List<T> searchAutocomplete(Class<T> clazz, String[] fields, String searchPattern, String analyzerName, Query additionalLuceneQuery) throws ServiceException; /** * @deprecated See {@link #search(Class, String[], String)} */ @Deprecated <T> List<T> search(Class<T> clazz, String[] fields, String searchPattern, Integer limit, Integer offset, Sort sort) throws ServiceException; /** * @deprecated See {@link #search(Class, String[], String)} */ @Deprecated <T> List<T> search(Collection<Class<? extends T>> classes, String[] fields, String searchPattern, String analyzerName, Integer limit, Integer offset, Sort sort) throws ServiceException; /** * @deprecated See {@link #search(Class, String[], String)} */ @Deprecated <T> List<T> search(Class<T> clazz, String[] fields, String searchPattern, String analyzerName, Integer limit, Integer offset, Sort sort) throws ServiceException; /** * @deprecated See {@link #search(Class, String[], String)} */ @Deprecated <T> List<T> searchAutocomplete(Class<T> clazz, String[] fields, String searchPattern, Integer limit, Integer offset, Sort sort) throws ServiceException; /** * @deprecated See {@link #search(Class, String[], String)} */ @Deprecated <T> List<T> searchAutocomplete(Class<T> clazz, String[] fields, String searchPattern, String analyzerName, Integer limit, Integer offset, Sort sort) throws ServiceException; /** * @deprecated See {@link #search(Class, String[], String)} */ @Deprecated <T> List<T> search(Class<T> clazz, String[] fields, String searchPattern, Query additionalLuceneQuery, Integer limit, Integer offset, Sort sort) throws ServiceException; /** * @deprecated See {@link #search(Class, String[], String)} */ @Deprecated <T> List<T> search(Collection<Class<? extends T>> classes, String[] fields, String searchPattern, String analyzerName, Query additionalLuceneQuery, Integer limit, Integer offset, Sort sort) throws ServiceException; /** * @deprecated See {@link #search(Class, String[], String)} */ @Deprecated <T> List<T> search(Class<T> clazz, String[] fields, String searchPattern, String analyzerName, Query additionalLuceneQuery, Integer limit, Integer offset, Sort sort) throws ServiceException; /** * @deprecated See {@link #search(Class, String[], String)} */ @Deprecated <T> List<T> searchAutocomplete(Class<T> clazz, String[] fields, String searchPattern, Query additionalLuceneQuery, Integer limit, Integer offset, Sort sort) throws ServiceException; /** * @deprecated See {@link #search(Class, String[], String)} */ @Deprecated <T> List<T> searchAutocomplete(Class<T> clazz, String[] fields, String searchPattern, String analyzerName, Query additionalLuceneQuery, Integer limit, Integer offset, Sort sort) throws ServiceException; }