| % AUTORIGHTS |
| % Copyright (C) 2007 Princeton University |
| % |
| % This file is part of Ferret Toolkit. |
| % |
| % Ferret Toolkit is free software; you can redistribute it and/or modify |
| % it under the terms of the GNU General Public License as published by |
| % the Free Software Foundation; either version 2, or (at your option) |
| % any later version. |
| % |
| % This program is distributed in the hope that it will be useful, |
| % but WITHOUT ANY WARRANTY; without even the implied warranty of |
| % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| % GNU General Public License for more details. |
| % |
| % You should have received a copy of the GNU General Public License |
| % along with this program; if not, write to the Free Software Foundation, |
| % Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
| \section{Query Execution Plan} |
| |
| \begin{itemize} |
| \item Interface to external database is achieved by using |
| cass\_qry\_filterset\_t within the cass\_qry\_param\_t. |
| \item To support multiple modality, we would expose functions to |
| support AND, OR, VOTE methods to combine results from different |
| query results. |
| \end{itemize} |
| |
| \subsection {Multiple modality support} |
| \begin{verbatim} |
| typdef struct _cass_fusion_param_t { |
| enum cass_fusion_method_t method; // AND, OR, VOTE, Weighted_SUM, etc |
| union { |
| method_specific_data; |
| } |
| } cass_fusion_param_t; |
| |
| int cass_fusion(cass_env_t *env, |
| uint32_t num_qries, |
| cass_vecset_t **qry_vecset, |
| cass_qry_param_t **param, |
| cass_fusion_param_t *fusion_param; |
| cass_qry_result_t *qry); |
| // Need to add details on combining results, eg: index + rerank; |
| filter + rerank (using sketch or ori_feat), etc. |
| \end{verbatim} |
| |
| |