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.Proxy;
18 import org.splat.service.dto.StudySearchFilterDTO;
21 * Search service interface.
23 * @author <a href="mailto:roman.kozlov@opencascade.com">Roman Kozlov (RKV)</a>
25 public interface SearchService {
28 * Get a list of studies which are currently not presented in the lucene index.
30 * @return list of ImportedStudy DTO
32 List<ImportedStudyDTO> selectStudies();
35 * Refresh lucene index for studies.
38 * list of studies id's
40 void reindexStudies(String[] ridlist);
43 * Find knowledge elements with given properties.
46 * search filter parameters
47 * @return the list of found knowledge elements as proxiy results of lucene search
49 List<Proxy> selectKnowledgeElementsWhere(
50 KnowledgeElement.Properties... kprop);
53 * Find studies with given properties.
56 * if true then search for all criteria (AND), otherwise search for any criteria
58 * if true then search for all simulation contexts (AND), otherwise search for any simulation contexts
60 * search filter parameters
61 * @return the list of found studies as proxy results
63 List<Proxy> selectStudiesWhere(final StudySearchFilterDTO filter);
66 * Refresh lucene index for a study.
69 * the study to reindex
71 void indexStudy(Study study);