/* * DrakkarKeel - An Enterprise Collaborative Search Platform * * The contents of this file are subject under the terms described in the * DRAKKARKEEL_LICENSE file included in this distribution; you may not use this * file except in compliance with the License. * * 2013-2014 DrakkarKeel Platform. */ package drakkar.stern.evaluation; import drakkar.oar.DocumentMetaData; import drakkar.oar.Seeker; import drakkar.oar.SessionProperty; import drakkar.oar.exception.QueryNotExistException; import drakkar.oar.exception.SeekerException; import drakkar.oar.exception.SessionException; import drakkar.mast.SearchableException; import java.util.List; /** * Esta interfaz declara los métodos de evaluaciones soportados por el Framework * DrakkarKeel, para determinar la efectividad del sistema a la hora de recuperar los * documentos y otros métodos que pudieran ser interés */ public interface Evaluable { /** * Devuelve los documentos evaluados de relevantes por los miembros de una * sesión, para una consulta y buscador determinado * * @param sessionName nombre de la sesión * @param query consulta de la búsqueda * @param searcher buscador * * @return lista de documentos relevantes * * @throws SessionException si la sesión no se encuentra registrada * en el servidor * @throws QueryNotExistException si la consulta especificada no se encuentra * registrada en la sesión * @throws SearchableException si el buscador seleccionado no es soportado */ public List<DocumentMetaData> getRelevantDocuments(String sessionName, String query, int searcher) throws SessionException, QueryNotExistException, SearchableException; /** * Devuelve los documentos evaluados de relevantes por los miembros de una * sesión, para una consulta y los buscadores seleccionados * * @param sessionName nombre de la sesión * @param query consulta de la búsqueda * @param searchers buscadores * * @return lista de documentos relevantes * * @throws SessionException si la sesión no se encuentra registrada * en el servidor * @throws QueryNotExistException si la consulta especificada no se encuentra * registrada en la sesión * @throws SearchableException si el buscador seleccionado no es soportado */ public List<DocumentMetaData> getRelevantDocuments(String sessionName, String query, int[] searchers) throws SessionException, QueryNotExistException, SearchableException; /** * Devuelve los documentos evaluados de relevantes por un miembro de la sesión, * para una consulta y buscador seleccionado * * @param sessionName nombre de la sesión * @param seeker miembro del cual se solicita la información * @param query consulta de la búsqueda * @param searcher buscador * * @return lista de documentos relevantes * * @throws SessionException si la sesión no se encuentra registrada * en el servidor * @throws QueryNotExistException si la consulta especificada no se encuentra * registrada en la sesión * @throws UserNotExistException si el miembro no está registrado en la sesión * @throws SearchableException si el buscador seleccionado no es soportado */ public List<DocumentMetaData> getRelevantDocuments(String sessionName, Seeker seeker, String query, int searcher) throws SessionException, QueryNotExistException, SeekerException, SearchableException; /** * Devuelve los documentos revisados por los miembros de una sesión, para una * consulta determinada y los buscadores seleccionados * * @param sessionName nombre de la sesión * @param query consulta de la búsqueda * @param searchers buscadores * * @return lista de documentos revisados * * @throws SessionException si la sesión no se encuentra registrada * en el servidor * @throws QueryNotExistException si la consulta especificada no se encuentra * registrada en la sesión * @throws SearchableException si el buscador seleccionado no es soportado */ public List<DocumentMetaData> getViewedDocuments(String sessionName, String query, int[] searchers) throws SessionException, QueryNotExistException, SearchableException; /** * Devuelve los documentos revisados por los miembros de una sesión, para una * consulta determinada y el buscador seleccionado * * @param sessionName nombre de la sesión * @param query consulta de la búsqueda * @param searcher buscador * * @return lista de documentos revisados * * @throws SessionException si la sesión no se encuentra registrada * en el servidor * @throws QueryNotExistException si la consulta especificada no se encuentra * registrada en la sesión * @throws SearchableException si el buscador seleccionado no es soportado */ public List<DocumentMetaData> getViewedDocuments(String sessionName, String query, int searcher) throws SessionException, QueryNotExistException, SearchableException; /** * Devuelve los documentos revisados por un miembro de la sesión, para una consulta * determinada y el buscador seleccionado * * @param sessionName nombre de la sesión * @param seeker miembro del cual se solicita la información * @param query consulta de la búsqueda * @param searcher buscador * * @return lista de documentos revisados * * @throws SessionException si la sesión no se encuentra registrada * en el servidor * @throws QueryNotExistException si la consulta especificada no se encuentra * registrada en la sesión * @throws SeekerException si el miembro no está registrado en la sesión * @throws SearchableException si el buscador seleccionado no es soportado */ public List<DocumentMetaData> getViewedDocuments(String sessionName, Seeker seeker, String query, int searcher) throws SessionException, QueryNotExistException, SeekerException, SearchableException; /** * Devuelve los documentos recuperados por los miembros de una sesión, para una consulta * determinada y el buscador selecccionado * * @param sessionName nombre de la sesión * @param query consulta de la búsqueda * @param searcher buscador * * @return lista de documentos recuperados * * @throws SessionException si la sesión no se encuentra registrada * en el servidor * @throws QueryNotExistException si la consulta especificada no se encuentra * registrada en la sesión * @throws SearchableException si el buscador seleccionado no es soportado */ public List<DocumentMetaData> getRetrievedDocuments(String sessionName, String query, int searcher) throws SessionException, QueryNotExistException, SearchableException; /** * Devuelve los documentos recuperados por un miembro de la sesión, para una * consulta determinada y el buscador selecccionado * * @param sessionName nombre de la sesión * @param seeker miembro del cual se solicita la información * @param query consulta de la búsqueda * @param searcher buscador * * @return lista de documentos recuperados * * @throws SessionException si la sesión no se encuentra registrada * en el servidor * @throws QueryNotExistException si la consulta especificada no se encuentra * registrada en la sesión * @throws UserNotExistException si el miembro no está registrado en la sesión * @throws SearchableException si el buscador seleccionado no es soportado */ public List<DocumentMetaData> getRetrievedDocuments(String sessionName, Seeker seeker, String query, int searcher) throws SessionException, QueryNotExistException, SeekerException, SearchableException; /** * Devuelve el total de documentos recuperados recuperados de una * consulta y sesión determinada * * @param sessionName nombre de la sesión * @param query consulta de la búsqueda * * @return total de documentos recuperados * * @throws SessionException si la sesión no se encuentra registrada * en el servidor * @throws QueryNotExistException si la consulta especificada no se encuentra * registrada en la sesión */ public long getRetrievedDocumentsCount(String sessionName, String query) throws SessionException, QueryNotExistException; /** * Devuelve la lista de consultas efectuadas por los miembros de una sesión * determinada * * @param sessionName nombre de la sesión * * @return lista de consultas * * @throws SessionException si la sesión no se encuentra registrada en * el servidor */ public List<String> getQuerys(String sessionName) throws SessionException; /** * Devuelve el tiempo de duración de la sesión especificada * * @param sessionName nombre de la sesión * * @return tiempo de duración * * @throws SessionException si la sesión no se encuentra registrada en * el servidor */ public long getDurationSessionTime(String sessionName) throws SessionException; /** * Devuelve las propiedades de la sesión especificada * * @param sessionName nombre de la sesión * * @return propiedades * * @throws SessionException si la sesión no se encuentra registrada en * el servidor */ public SessionProperty getSessionProperties(String sessionName) throws SessionException; }