1 /*****************************************************************************
5 * Creation date 05.10.2012
8 *****************************************************************************/
10 package org.splat.service;
12 import java.util.List;
14 import org.splat.dal.bo.som.KnowledgeElement;
15 import org.splat.dal.bo.som.Study;
16 import org.splat.service.dto.ImportedStudyDTO;
17 import org.splat.service.dto.KnowledgeSearchFilterDTO;
18 import org.splat.service.dto.Proxy;
19 import org.splat.service.dto.StudySearchFilterDTO;
22 * Search service interface.
24 * @author <a href="mailto:roman.kozlov@opencascade.com">Roman Kozlov (RKV)</a>
26 public interface SearchService {
29 * Get a list of studies which are currently not presented in the lucene index.
31 * @return list of ImportedStudy DTO
33 List<ImportedStudyDTO> selectStudies();
36 * Refresh lucene index for studies.
39 * list of studies id's
41 void reindexStudies(String[] ridlist);
44 * Find knowledge elements with given properties.
47 * search filter parameters
48 * @return the list of found knowledge elements as proxiy results of lucene search
50 List<Proxy> selectKnowledgeElementsWhere(
51 final KnowledgeSearchFilterDTO filter);
54 * Find knowledge elements with given properties.
57 * search filter parameters
58 * @return the list of found knowledge elements as proxiy results of lucene search
60 List<Proxy> selectKnowledgeElementsWhere(
61 KnowledgeElement.Properties... kprop);
64 * Find studies with given properties.
67 * search filter parameters
68 * @return the list of found studies as proxy results
70 List<Proxy> selectStudiesWhere(final StudySearchFilterDTO filter);
73 * Refresh lucene index for a study.
76 * the study to reindex
78 void indexStudy(Study study);